Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Pi_

  1. I'm working 6 years in vectorworks after 13years of autocad and I'm still not used to the copy command. I also want a 'one button' copy tool and a 'one button' move tool. Is it possible to connect 2 shortcut keys to one command with different settings? 'c' would be the move/copy tool with the copy preset 'm' would be the move/copy tool with the move preset
  2. After programming 2 months for a complete new workflow I encountered a mayor bug/shortcoming in the dwg-export in VW2014. We changed from working in 2d to 3d (walls, slabs,...). We work with layers for walls and layers for slabs/beams/... So our layer structure would look like this: slabs +3 walls +2 slabs +2 walls +1 slabs +1 walls 0 slabs 0 we make structural plans that look upwards, the walls of the above level are visible in dashed lines. One of the advantages is that we don't have to draw the 'hidden' objects of the next level. We take one viewport that show the walls and slabs (for ex. walls 0 & slabs +1) and one viewport that shows the 'hidden' walls (walls +1) in dashed lines (custom class-properties of the viewport: everything dashed, no fills, text/dimension-class is hidden,...) Fantastic system, works great, never have to convert the walls of the above level to hiddenlines again, PDF and plots look OK.... BUT: DWG export fails!!! I describe 2 options: export dwg 'active sheet layer' NO export viewport as image in modelspace: * modelspace is a 'semi' 3d drawing: 2d objects with different z-coordinate * paperspace looks good except dashed lines or continuous * modelspace shows the text and dimensions of the above level (very confusing) export dwg 'active sheet layer' export viewport as image in modelspace: * modelspace is 'flat' * hatches have a scale problem (they look solid-filled) * the 'above' level * there is no difference between the visible level and the 'hidden' above level We work a lot with architects who use autocad, dwg is our main exchange format. I realy have to find a solution to this. Any suggestion/workarounds are very welcome. I started this workflow after a suggestion of our local helpdesk (designexpress Belgium) but they don't have a solution for this. VW2015 (not yet released here) has the same problem they say. ideas for VW-programmers: * upgrade the 'convert viewport to lines' or 'convert viewport to group' (bad output) * 'flatten' all objects in het dwg-modelspace * rename classes to layers like this: 'viewportname'-'classname' then class "text" objects of the 'hidden level' would be renamed to "walls +1 - text" and this class can be hidden in attachment a sample file, pdf output (=good) and dwg export
  3. off course,'Extrude Along Path' is handled like a PIO and is only generated after the scipt. back to start...
  4. thanks, I did it this way: polyh:=FInSymDef(GetObject(Psymbool)); begingroup; while polyh<> NIL do begin h:= CreateDuplicateObject(polyh,nil); polyh:=NextObj(polyh); end; endgroup; extrudeh:=CreateCustomObjectPath('Extrude Along Path', ash, LNewObj); next problem, polyh2:=GetObjectHiddenLine(extrudeh,10000, True); doesn't work on 'Extrude Along Path' (it does work on 'ExtrudeAlongPath'
  5. moving this post from wishlist to vectorscript https://techboard.vectorworks.net/ubbthreads.php?ubb=showflat&Main=40731&Number=202290#Post202290 I'm unable to controle the text offset in LinearDim inside a PIO, it should be a number between 0 and 1, indicating the position between the arrows. When I ungroup the PIO and activate/deactivate 'used calculated position' the dimension text jumps to the right place. a resetobject on the dimension line doesn't help. Any ideas?
  6. extra info: the first object in the symbol is used correctly for the extrusion... (first 2 lines of code)
  7. extra info: the first object in the symbol is used correctly for the extrusion... (first 2 lines of code)
  8. Hi, I want to add geometry to an extrusion created inside a polyline-PIO. The geometry I want to add is read from a symbol. (I want to create custom section beams/columns) here is part of the code, the problem is that the geomtry is copied in the 3d-part of the symbol, instead of being copied in to the extrusion, even if I use 'setparent', anybody any suggestions?: if Pdoorsnede='symbool' then polyh:=HDuplicate(FInSymDef(GetObject(Psymbool)),0,0); extrudeh:=ExtrudeAlongPath(ash,polyh); if Pdoorsnede='symbool' then begin polyh:=FInSymDef(GetObject(Psymbool)); while polyh<> NIL do begin polyh:=NextObj(polyh); { h:=HDuplicate(polyh,0,0); } h:=CreateDuplicateObject(polyh, extrudeh); ok:=SetParent(h, extrudeh); end; end;
  9. Hi all, in several of my PIO's I use dimensionlines. everything works nice except that I can't controle the 'horizontal' position of the text. (I can controle the offset). Can it be controled? TExt Offset seems to move the text but then only outside the dimension line. I have a controlepount and want to use it to put my text... LinearDim ( startPtX :REAL; startPtY :REAL; endPtX :REAL; endPtY :REAL; offsetDistance :REAL (Coordinate); dimType :INTEGER; arrow :INTEGER; textFlag :INTEGER; textOffset :REAL ) ;
  10. this is exactly what I was looking for, unfortunately we have the standard version, not the architectural. thanks anyway
  11. Pi_

    convert 3d to 2d

    thanks CodeGier, unfortunately we work with the 'standard' version that doesn't support the AH object, I tried it in the arhitectural demo version and there it works indeed good. So I'll keep on searching for an other method...
  12. hi hippothamus, I don't know if you still need it. Are you working with a 2d path PIO? then you can use the 'Add/Intersect/Clip Surface' event. You enable it with kObjXIs2DSurfaceEligible = 14; result := SetObjPropVS(kObjXIs2DSurfaceEligible, TRUE); see this example http://www.vectorlab.info/index.php?title=Events#Example_7 I used it for a floor plate PIO with openings in it, it works fine. You draw the path of the floor and then you subtract the openings...
  13. Hi, I have a problem with reading data from a popup list I just populated. there are 2 popup lists: the first (list01): HEA HEB IPE UPN when you make a choice a second list is populated (list02): HEA100 HEA120 HEA140 ... or IPE100 IPE120 ... this works fine, list02 gets populated (vsoWidgetPopupAdd in the '41' event) but when I want to read list02 standard value it is NIL. example: you change list01 to HEB, list02 is populated and the first item (HEB100) is visible in the object panel, but I can't read this value. Only when I change list02 (ex. HEB200) I can read back this value. I tried reseting the PIO in the '41' event or before reading the value (in the '3' event) but this doesn't work. I also tried setting list02 to this value (vs.vsoWidgetPopupSet and vs.SetRField) without succes Is this a bug or am I doing something wrong?
  14. I had the same problem with a 3d polyline tool that creates an extrude https://techboard.vectorworks.net/ubbthreads.php?ubb=showflat&Main=40012&Number=198874#Post198874 If all segments are straight then you can use this method: make extrusion of each segment orient them seperatly therefore I made an array of X,Y,Z angles rotate3d Move3DObj you can also use Set3DRot
  15. I'm writing a script that creates a viewport on top of another viewport. This has a lot of class overrides (it shows the hidden objects, and I want to controle how hidden objects are shown). I can overide color and fillcolor of a class but not the hatch/pattern and linestyle, can you add this VW command?
  16. thanks Miguel, I was looking for one command to join all lines in group, I ended up making an array of points: >>take first line end point >>loop trough all ellements in the group >>check begin and endpoints >>if beginpoint matches add endpoint to array and vice versa and delete element >>loop again from beginning with new endpoint >>draw polyline with array of points... a lot of work, it works , but 'join(handle1,handle2)' would be so much easier...
  17. Hi, I want to join lines inside a PIO (the lines are a result of 'GetObjectHiddenLine'). The lines are in a group, I can select them but I cannot join them (DoMenuTextByName('Compose',0) The command works in a script but not inside a PIO. I tried ungrouping the group, entering the group (FinGroup),... the selected items seem to be the lines+PIO itself, Nextobj after FSobject gives nil (first selected object is PIO itself).
  18. Yes I tried, I also tried SetParent but this doesn't work anymore (since VW12.5) this is how I succeeded to bring the geometry inside the PIO (GetPt works fine inside PIO!) GetPt(pt5.x,pt5.y); h:= PickObject(pt5.x,pt5.y); getsymloc(pioHandle,pt6.x,pt6.y); if ((gettype(h)=3) or (gettype(h)=4) or (gettype(h)=5) or gettype(h)=21)) then begin h:=CreateDuplicateObject(h,pioHandle); hmove(h,-pt6.x,-pt6.y); pathHd:= GetCustomObjectPath(pioHandle); pathHd:= hDuplicate(pathHd,0,0); pathHd:= SubtractPolygon(pathHd,h,10); ok:=SetCustomObjectPath(pioHandle,pathHd); but now I'm stuck on "SubtractPolygon" it doesn't seem to work because I'm not getting back a handle (VW crashes on this code)
  19. how can one import external geometry inside a PIO GetPt(pt5.x,pt5.y); h:= PickObject(pt5.x,pt5.y); if ((gettype(h)=3) or (gettype(h)=4) or (gettype(h)=5) or gettype(h)=21)) then begin h:=hduplicate(h,pt6.x-pt5.x,pt6.y-pt5.y); pathHd:= SubtractPolygon(pathHd,h,0); End;
  20. Pi_

    convert 3d to 2d

    look wath I found! FUNCTION GetObjectHiddenLine( hGeometry3D :HANDLE; cuttingHeight :REAL; bottomOfCutPlane :BOOLEAN) : HANDLE; I'm not completly sure what the parameters are. It seems that it gives the visible line of the cut away geometry. But then the name of the function doesn't make a lot of sense... I contacted tech support, hope to get answer soon... So I was able to create visible lines. Also to create cut away, but so far no luck with the hidden lines...
  21. Pi_

    convert 3d to 2d

    I'm trying to convert geometry in my PIO from 3d to 2d by DoMenuTextByName('Convert to Lines',0); but that doesn' work, probably because the geometry is made after the script has run. Is there a work around? this is a script from another blog that works (but it is in a script, not in a PIO) Procedure Test; BEGIN BeginGroup; NameClass('klasse'); beginxtrd(0,1000); CallTool(-204); endxtrd; DoMenuTextByName('Convert to Lines',0); EndGroup; END; Run(Test);
  22. Pi_

    convert 3d to 2d

    Exactly, It would be nice if you could add a 'hidden' property to each class-linestyle. I 'll add it to the wish list
  23. Hi all, I am working on a 2d/3d PIO (3d path object to create steel profiles) the 3d part is working good and now I am working on the 2d part. It would be nice if I could just convert the 3d object to 2d and controle the visible and invisble line styles. I know I can draw everything in 3d but it is very hard to draw chamfered endings (see pictures) or profiles that are rotated around there axis. I can not work with a 3d top view because I can't controle the invisible line styles...
  • Create New...