Recent Posts

Pages: [1] 2 3 ... 10
Visio 2021 and still running in to the same bug!

The lower left corner is page position 0,0. It seems like Visio runs in to an error calculating the surface area of the shape and all its subshapes and ends up setting 0,0 and the lower corner position of the container, when there is a 1D connector in the group.

The problem with using just a line instead of a connector is a visual issue, connectors and lines render differently and do not properly align at some zoom levels, creating an ugly rendering. (we use Visio because its diagram rendering is so pretty after all!)

I can solve it with a workaround fortunately, just bypassing both bugs completely.
ShapeSheet & Smart Shapes / Lock the ports on the perimeter of the master shape
« Last post by ronaona on July 05, 2022, 03:37:01 PM »

I was wondering if it is possible to have create a master shape that allows me to move a connection around its perimeter(See that attached picture).

I was trying to use some IF FUNCTIONs, but I cant lock my x direction completely.

Example--> =IF(PinX<7 in,0,1)
where 7 represents my max distance(positive x direction) . when i use the IF function,  My connection keep moving after 7 in, and i cant move it  to the original position.
My connection can return to the original position when this moves less than 7 in.

I don't know how to create that restriction around the perimeter of the master shape. I am new using Visio, and I don't have experience with Macros/VBA, but I just need an idea of how i can start working in this project.

Shapes & Templates / Re: Text rotation on lines
« Last post by on July 05, 2022, 10:38:22 AM »
Adding the Rotate Text command to the Quick Acces toolbar is a super convenient way to rotate text. It also works even if you have the Text permissions locked. Great if you have added a data field that you don't want users to delete.   
Programming & Code / Re: Selection Manager
« Last post by Yacine on July 01, 2022, 08:10:17 AM »
Just thought about a "deselect" function, so as to remove a certain selection from the current one.
Eg Take the "frame" selection and remove the "corners", so as to keep only the pure sides.
Not a big deal. A button and 3 lines of code.

In a realistic use case I could for instance do "select all valves", then unselect all parts that are "pneumatically driven".

Thinking about it furthermore, it would be nice to have some sort of logic formula : (SelA AND selB) OR NOT(selB). But I wouldn't know adhoc how to implement it. (Maybe store the results, before applying?)
Programming & Code / Re: Selection Manager
« Last post by Yacine on July 01, 2022, 08:04:17 AM »
Programming & Code / Selection Manager
« Last post by Yacine on July 01, 2022, 07:33:00 AM »

In the a.m. topic I presented an idea about creating and saving lists of shapes - a kind of "selection manager".

update - 03.07.2022:

These lists are intended to be used as a specialized clipboard, not for copying and pasting data, but for recalling selections.
So that in "bigger" drawings - letting "bigger" be defined by your own perception - you can re-select shapes as you have previously done.
eg: you've selected the "apples", or the "motors", or the "red shapes", done some operations on them and later, even after having closed and reloaded the drawing, you just reload this specific selection and do further operations on them. That's why the saving feature provides an automatic naming - so you won't need to bother about any naming - and with the renaming feature you can specify a proper name, if you feel so.

This is here the tool, with the following features:
  • You can save either "static" selections, which are in fact lists of shape IDs
  • and dynamic selections, which are computed by means of interpreting a formula that interprets to TRUE. eg "PinX>1" or "LineColor=1"
  • When saving you can either use the proposed name of "sel_" + current date and time, or a custom name. eg "Corners", "Shapes", "Valves", whatever.
  • The selections can be modified, renamed or deleted.
  • Modifiying would mean that you select the list entry, then take the current selection as the new one. That is in case the selection type is "static".
  • If the selection type is "dynamic", you're asked for a new formula.
  • The form has two check boxes, which I hope are self explanatory. One is to enable and disable the automatic selection, the second will make the tool either create a new selection or add to the previously selected shapes.
What else?
  • Under the hoods, the form will write in the user section rows with a prefix of "sel_". The prompt is used to store the selection type and the value is either a semi-colon separated list or a formula. This way the selections are saved automatically and can be restored just by calling the form.
  • When using dynamic selections, the form writes in a cell "user.temp" of the doc an enhanced version of the formula and reads it to check whether the shape complies with the condition. This may be slow. But hey, still way faster than doing it manually.
What is open?
  • I haven't implemented an automatic repair of the IDs lists for the case shapes are deleted. The "redefinition" feature will help till then.
I welcome you guys to test it and give some critics.

PS: the tool is in the stencil. Drop the yellow square on the canvas to start the form.
PPS: the VSDX is just for playing. The tool should work with any other vdsx
General Visio / Re: Area select without dragging background
« Last post by Yacine on July 01, 2022, 02:06:52 AM »
... by the way, there's one option which has been named already but not described in the depth it deserves.

Put the background shapes on a "background" layer, then depending upon the situation lock or unlock it. That's 3 mouse clicks away.
General Visio / Re: Area select without dragging background
« Last post by Yacine on July 01, 2022, 01:51:08 AM »
I think the problem is not doing CTLR+clk...clk...clk, but to do it over and over again.

In Jupyterlab I help myself by defining lists of shapes.

myRedShapes = list(vWin.Selection)
myBlueShapes ...

and reusing them - eg:
[vWin.Select(shp,visSelect) for shp in myRedShapes]


for shp in myBlueShapes:
  shp.Cells(xyz).Formula = 123

so far for the unuseful REPL functionality of Jupyterlab ( ;) ).

For VBA I thought about writing a modeless form with a list holding lists of shapes.
There would be a "save selection as..." button, probably also a delete and a re-define one.
Selecting an item in the list would select the according shapes.
The list items would be stored in the shapesheet of the doc or the page.

There would be also a possibility to have dynamic lists - that is where you define a condition instead of having a fixed list.

The selection routine will need to cover the case when shapes are deleted and update the item accordingly.

... unfortunately I have it already in Jupyterlab, so my motivation to write it in VBA is not the highest.
--> could be something for Paul's tool collection

Continuation here:
General Visio / Re: Area select without dragging background
« Last post by vojo on June 30, 2022, 07:54:27 PM »
I suppose the CTLR+clk...clk...clk does not address your need?
Pages: [1] 2 3 ... 10