Create shapes / templates with locked height or width

I want to draw shapes (as templates for nasi-schneiderman diagrams) assembled from rectangles, lines, … [Nassi-Shneiderman-Diagramm]

for relative positioning grouping is the solution, but for some elements e.g. I need to lock the height while the width should rescale with the group. But I can not find a way in the gui to define that.

Overall the ideal solution would be new toolbars with these shapes. Can users define new shapes (including toolbars) ?

You can put the shapes - that have custom properties - into the Gallery.
Or you can write some macros for creating shapes with predefined custom properties.

Don’t understand the “including” .
Yes, you can create custom toolbars via >Tools>Customise They may contain calls to custom code.
Concerning custom shapes you should refer to this tutorial.

1 Like

Usually properties of shapes are controlled by styles, which are a quick and convenient way to give a consistent look to your diagrams. Unfortunately dimensions are not offered among the properties.

Your only remaining possibility is to use the “handles” around a selected shape. Those in the middle of the sides will operate in a single direction while those in the angles allow modification along both axes.


I used Nassi-Schneiderman diagrams decades ago. To make them really practical, I had to modify them slightly. Also I added a "declarative" part to advertise the API of the sketched module (procedure or function). From experience, I don't think there is a net advantage with Draw compared to pencil and paper (apart from the nice and legible look). What is really needed is a dedicated diagram editor. We were on the verge is creating one but I left the company and don't think the project was carried over.

Probably somecompany else did it?
I only found this page and can’t tell anything about their offers.
(Personally I didn’t see much value in one of the graphical design representations I knew even when I still teached a bit about programming. Nassi-Shneiderman diagrams -called Struktogramme in Germany and now being standardised by DIN- were just additionaI overhead in my eyes. But I’m only myself. I preferred “pseudo-code” starting a top-down development. But I didn’t actually develop serious software later than 1968. And actual software in the current sense didn’t exist at that time.)

@Lupp: the project was closely related to top-down specification (and ultimately programming). The idea was: you start with a block (called “sequence” in NS diagrams) which content is a literary description of the module. Later you split this block into several steps, replacing the global description by a more detailed sequence (again generic or already choices/loops). The description is progressively more and more precise until it matches some block structure programming language. This why this progressive approach needs a dedicated editor so that you don’t restart from scratch. If the editor is smart enough, it can provide a “zoom factor” to display more or less details in the implementation.

So, the editor is not only a graphical application but is also a specification and code maintenance tool (probably needing a DB backend). The method is not the same but has the same goal as Donald Knuth’s Web, Weave and Tangle philosophy of “literate programming”.

1 Like