Blocks and libraries and neightbouring things
Posted: Thu Dec 26, 2013 10:10 pm
So I've been playing a bit with libraries (as in part libraries).
It seems that once you added an item from a library to a drawing, that item is set to stone wrt that drawing. This may or may not be desireable (arguments could be made pro and con), but there seems to be at least one corner case where it doesn't play out right.
Consider the following: drop some item from a library to a drawing. Change your mind, delete the item from the drawing. Change your mind altogether, edit the library item, then drop the now-changed item to the drawing. (Saving, exiting from QCAD, etc. is allowed any time.) What happens is you get back your unchanged library item on the drawing, even now that you've changed it. Even the library browser preview shows the thumbnail for the changed item, but as soon as you drop it on your drawing, it reverts to the original state. I would expect that when the last reference to a block is deleted, the block should be gone too, no?
In some ways the way Eagle CAD (electronics design package) handles this is more to my liking. They do it as follows: you have libraries, you have items in the libraries. As soon as you add an item to your drawing, the instance on the drawing is de-coupled from the library (ie. the drawing is complete on its own alone, without the library itself), but a "weak link" of some kind is maintained. This link is used so that later you can update the instance in the drawing from the library: change the library, drawing unaffected; hit the "update" button, drawing pulls in the new version of the item from the library.
Of course Eagle has the freedom of having a custom file format
Now, I'm not an experienced CAD person by any stretch of the imagination (I do have a quite a significant amount of experience with Eagle though), but if DXF isn't a limiting factor, it sounds like an approach to consider, doesn't it?
Thoughts?
It seems that once you added an item from a library to a drawing, that item is set to stone wrt that drawing. This may or may not be desireable (arguments could be made pro and con), but there seems to be at least one corner case where it doesn't play out right.
Consider the following: drop some item from a library to a drawing. Change your mind, delete the item from the drawing. Change your mind altogether, edit the library item, then drop the now-changed item to the drawing. (Saving, exiting from QCAD, etc. is allowed any time.) What happens is you get back your unchanged library item on the drawing, even now that you've changed it. Even the library browser preview shows the thumbnail for the changed item, but as soon as you drop it on your drawing, it reverts to the original state. I would expect that when the last reference to a block is deleted, the block should be gone too, no?
In some ways the way Eagle CAD (electronics design package) handles this is more to my liking. They do it as follows: you have libraries, you have items in the libraries. As soon as you add an item to your drawing, the instance on the drawing is de-coupled from the library (ie. the drawing is complete on its own alone, without the library itself), but a "weak link" of some kind is maintained. This link is used so that later you can update the instance in the drawing from the library: change the library, drawing unaffected; hit the "update" button, drawing pulls in the new version of the item from the library.
Of course Eagle has the freedom of having a custom file format
Now, I'm not an experienced CAD person by any stretch of the imagination (I do have a quite a significant amount of experience with Eagle though), but if DXF isn't a limiting factor, it sounds like an approach to consider, doesn't it?
Thoughts?