Dieter @ DWorks Posted November 22, 2007 Share Posted November 22, 2007 (edited) What I need to do is delete all symbols in a wall. All I got is the handle to the wall. I was searching through the function reference and got all confused. Can someone help me to understand the following? AddSymToWall -> adds a symbol to a wall (that's clear) AddSymToWallEdge -> the same but you can choose the edge it must be on. DeleteWallSym -> this deletes the symbol in a wall. You'll need the symbol handle, not that of the wall. So does this delete the symbol from the drawing or does this remove the symbol out of the wall and place it above? GetNumOfWallBreaks -> what's a wall break? I know it's not a peak, so is a break the hole that VW makes when you place a symbol in it? GetObjExtentsInWall -> This gives you the place the symbol is in the wall. (pretty clear) GetWallHalfBreakInfo -> what's a wall half break? So if a break is the hole for a symbol, this means that you get the info of the place of the symbol in the wall like GetObjExtensInWall? InsertSymbol -> Also clear. Just putting a symbol in a wall. So we can get how many breaks (symbols) are in a wall and get their position, but we can't delete them? For deleting a symbol in a wall, we need to make them loose and then delete them AND we must know it's handle? I think we are missing some commands here. Shouldn't be here a DeleteWallBreak command? and a DeleteAllSym command? All suggestions are welcome for solving this problem. Edited November 22, 2007 by DWorks Quote Link to comment
Dieter @ DWorks Posted November 22, 2007 Author Share Posted November 22, 2007 Did some testing and this is what I found out: DeleteWallSym deletes the symbol out of the document. DelObject does the same. So why have two commands that does the same? Does someone knows what's the difference? Quote Link to comment
Petri Posted November 22, 2007 Share Posted November 22, 2007 It's all in the documentation of VectorScript. Anyone who has done programming in many languages should be able to figure it out. No? Dear me... Your advice has not been good, then. Just get a handle to the components of the wall with FIN3D(theWall), then traverse the wall and when you find a symbol instance, zap it. (With the usual precautions, of course. Surely you know how to handle handles - just put your lips together and blow.) Quote Link to comment
Dieter @ DWorks Posted November 22, 2007 Author Share Posted November 22, 2007 I know I can do a ForEachObject(), GetParent() and if the parent is the wall, then shoot the child. And it is very short. It's just that commands like DeleteAllSym should be there when a DeleteAllPeaks is already in the list. 1 Quote Link to comment
Petri Posted November 23, 2007 Share Posted November 23, 2007 Set up a library of subroutines and $INCLUDE that. Then you can say DeleteAllSym. Since there are things that just cannot be done with VS, I'd rather see those aspects fixed & added, instead of adding an esoteric one-liner which performs an easily programmable, but (in my guess) very seldom needed task. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.