I am trying to connect cloned nodes (rects and ellipses) using the diagram connectors tool. I want the paths to connect the bounding boxes of the nodes, in order to show the line marker (arrow tip).
As mentioned in this bug report, connecting cloned objects with diagram connectors does not work as intended. What I've found to work better is to convert the objects to paths. Then, the diagram connectors usually work as they should.
That is, until they do not. In this example all nodes (as paths) are vertically aligned and the paths connect to the center points. If I nudge the rectangle slightly to the right (right arrow key), the paths snap to the bounding boxes. See here. There are more placements in which the arrows show desired/undesired behaviour. In particular, if the nodes are placed diagonally from each other.
Is this where Inkscape hits its limitations or can I somehow produce the desired behavior? I'd like to (1) use clones so I can apply changes to my design globally and need to (2) flexibly (re)layout the diagrams I'm drawing without having to manually adjust all paths.
Big thanks in advance
Related
Is it possible, within IFC 4.0, to define an Ifc object (IFC Wall for example) with multiple colors (which are IfcStyledItem)? How can we activate each color inside a BIM Viewer program (like layer in AutoCAD)?
Thanks,
Formally, you can have only one IfcStyledItem per IfcRepresentationItem, but the styled item can refer to multiple presentation styles (IfcPresentationStyle). Similarly, you could have one IfcPresentationLayerWitStyle per IfcPresentationItem referring to multiple presentation styles. A viewer application could then provide user interactions to switch styles on or off per representation item or layer. However I believe that is not the right interpretation of those presentation style sets. The standard is not clear about it, but I would rather assume these styles are supposed to aggregate, that is you have both curve and fill style for example, which complement each other rather than being alternatives.
A more high-level solution and idiomatic with CAD applications is assignment on the level of the whole IfcPresentation (as opposed to the items of a presentation). If you are concerned about styles on the level of product geometry like a whole wall, that would be sufficient detail. You would do this through layer assignment. Layers then have styles and can be switched on and off. Since one presentation can be assigned to multiple layers this would likely resemble the functionality you have in mind.
I have drawn an activity diagram to depict my project. Please, could anyone tell whether it is correct or wrong?
The diagram has the following errors:
The start node should be a filled circle (you have an open circle).
The end node should have a filled inner circle, like a bull's eye.
If an action has more than one outgoing arrow, then this means that all outgoing paths are traversed simultaneously. In your case, you want only one path at a time. Use a decision symbol (diamond) in between Login and the subsequent actions.
All actions should have at least one outgoing arrow. This arrow should go back to the decision symbol you forgot to draw (see 3).
The two arrows to the end node mean that the activity ends if both paths have been traversed. In your case, you want the activity to end if either of the paths has been traversed. Use a merge symbol (diamond) for that.
In my Enterprise Architect model, I have nodes that contain devices that contain components that contain other components. That's how I organized the hierarchy in the Project Browser.
I would like to be able to drag one element of the model into a diagram (as a Link), and be able to see all the elements contained by this element without having to drag them individually. For example, dragging a device into a deployment diagram would display the node and all the components it contains.
This logic works when I drag a component onto a diagram: I am able to select what children elements (interfaces, ports, ...) I want to see on the diagram. But I did not find a way to do the same with this following containment hierarchy: node > device > component > subcomponent.
Is there a way to do so ?
Thank you :)
You can do it manually, of course. Dragging the outermost onto the diagram (as link) and enlarge it. Drag the inner ones onto the diagram somewhere outside the outer one (to avoid some dialog otherwise). Drag them inside the outer and arrange as needed.
Another way is to make the outer element composite (context/Add/Composite diagram or /New Diagram/Composite). On this composite diagram place the inner elements and arrange them. Save the diagram when done. Now you can create diagrams with the outer element which, once enlarged, can show the composite diagram inside. Just drag the composite diagram as Diagram Frame and eventually make it smaller. Then place it inside the enlarged outer component.
While in the first case you can show relations (like port delegation) this is not possible in the second one.
There is no way to automagically drop the nested structure except you come up with some very tricky add-in.
What technique should be used in multi-view app (using CompositeViewer) if some nodes look differently in different views? For example, if some label positions should be recalculated depending on the view's camera parameters? Or if some other kind of annotations (rectangular area with a border some text) are visible or hidden depending on the view scale?
osg has Billboard and Text classes that handle orientation for each camera out of the box (see for instance how the CullVisitor applies to the Billboard class here).
To implement other behaviors which depend on the camera, the right place to make things happen is a Cull Callback added to your nodes: your callback will be invoked multiple times (one for each different camera) on every frame, and you can react accordingly to your needs.
I'm trying to structure a big diagram by building smaller diagrams and then connect them in the big picture. The problem i got now is that i can't figure out how to add connectors/endpoint to the diagram frame so that i can follow the arrows between the different diagrams.
Would be grateful for some help figuring this out.
You can't do that. A diagram is not an UML object per se. It's a rendering of a number of elements from the model. So you can not connect anything from inside a diagram frame to the outside.
What I did in similar circumstances was that I placed the element in question aside the frame (probably surrounded by a boundary and some explanatory text) from where I show the connectors going somewhere else in that diagram.
The "diagram frame" element type, which you can create by dragging a diagram from the element browser onto another diagram in the main view, is an EA-specific construct that has no basis in UML. Even within EA, they are strange beasts which fall somewhere between proper elements, which are shown in the project browser and can be dragged into any number of diagrams, and "pure" diagram objects which aren't shown in the project browser (such as Notes).
While you can draw connectors from one diagram frame to another in the normal ways, there is no way to create a connector going from an element within one frame, out of the frame's bounds and into another frame. This is because the elements within the frame are not actually present in the diagram which contains the frame; the frame is simply an image of the diagram it refers to.