Jump to content

Alexandre Villares

  • Posts

  • Joined

  • Last visited

Everything posted by Alexandre Villares

  1. Oh, how I missed that one on VW9! VectorScript on VW10 does have it: GetSymLoc3D(objectHandle : HANDLE; VAR x : REAL; VAR y : REAL; VAR z : REAL); rgrds, Alexandre [ 04-26-2003, 10:00 PM: Message edited by: Alexandre B A Villares ]
  2. 1. I've written a routine that calls the leader line tool. Is there a way to set it so defaults to the unconstrained leader mode? I'm afraid this is beyond VS 3. At Vectordepot->Plug-ins, http://www.vectordepot.com/PlugIns1.shtml there's a routine called Layer & Class Options Palette by David Kenney. It was saved as a VW10 file I'll write to VectorDepot and I'll send you a copy
  3. Hi Brendan, I know this is no real solution but I have a desperate man's workaround: Go to the menu Page>Set Attribute Defaults>Arrow Heads... On the right side of the panel, choose an arrow type slot you don't mind losing (I picked the open arrow head - Arrow #2). On the left side choose a style that allows you to fix the angle, set it to 1 degree and 1mm or less. Now you just have to fit your dashed lines with this pseudo arrow endings. Polygons will have to be tool>decompose(d). Not very practical but I hope it helps. best regards, Alexandre [ 04-11-2003, 10:25 AM: Message edited by: Alexandre B A Villares ]
  4. Sorry Dan, I guess it's because I'm using a slightly newer version (2003) given to me by the author. It seems he fixed the line attrs. thing. best regards, Alexandre [ 04-05-2003, 10:18 PM: Message edited by: Alexandre B A Villares ]
  5. There is a fantastic and free enhanced eyedropper plug-in like this at www.vectorbits.com
  6. quote: Originally posted by Dan Kessler: It adds some improvement for text, but I still can't "aquire" the attributes that are set to "use class's". (the little hooked arrow symbol). Dan, have a good look at the preferecens, a checkbox called "use class attributes". I have just tested it...
  7. quote: Originally posted by Katie: When you select the wall or door PIO, you can click on the Preference button in the Mode bar. This shows the settings of the tool with all parameters expanded. You can input the information there first, then plop down the doors and windows as you wish. [...] Hi Katie, Note this method is only possible if the PIO is selected from a palette. Otherwise, if the PIO is selected from the Object/Resource Browser, the preferences button is not available! And I think the Door/Window PIOs are not in a palette at the standard 'non architect' workspace. The only way to change defaults then (other than editing the workspace adding the PIOs to a palette) is to make/edit a symbol set to convert to plug-in object... [ 03-20-2003, 01:50 PM: Message edited by: Alexandre B A Villares ]
  8. If you create an array of 2D loci and change the drawing origin to each locus, double-clicking at the print-area moving tool will center the printing page at the origin at that time,
  9. (1) ------------------ wish ------------------ I have a simple idea/wish concerning the effect of new classes/layers on saved sheets: When you create a new class/layer there could be a checkbox '[X] invisible on existing sheets' (the default being the current behaviour) (2) ------------------ digression ------------------ I don't like PIOs to have internal parts set to the 'none' class. I can't control their attributes! The PIOs I write usually have their parts set to the container class. Those internal parts may have three (coded) attribute behaviors: Class attributes; User set attributes (at the Attr. Palette); PIO Coded Attr (i.e. None Fill, dashed line); If the 'Use at creation' is on at the container class, it overrules my internal attribute settings in a non reversible way. (3) ------------------ complaint ------------------ Due to a VectorScript limitation I can't make an auto-classing text tool: the CallTool/SetTool doesn't work correctly with the Text Tool (as you can see if you try to use the Custom Tool/Attributes command with the Text Tool). [ 03-15-2003, 10:43 AM: Message edited by: Alexandre B A Villares ]
  10. quote: Originally posted by dfortin: PS. Alexander I would like to sell you my code. The only problem is that I think that I would be fired for it. Ops! I apologise for even asking then.
  11. quote: Originally posted by David Seibert: I would like to select numerous PIO (doors in this case) and change their class (with the goal of changing their attributes)all with ONE click. Is there a way? Show me the light. You have a problem... if the doors are placed in walls as the should you can't select many of them to change class... We might be able to make a VectorScript to solve this...
  12. quote: Originally posted by dfortin: I've used this offset polytool. It only allows offset by point mode. It is very frustrating!!!! I had to design my own offset tool which was pretty tricky and time consuming. Hi Dfortin, What do you mean by 'point mode' ? Isn't the function dist . mode based? Would you be willing to sell your code ? (I have many VW9.5 clients and some of my new tools might need the VS10 offsetpoly call). PS: I wish the VW offset tool would produce a polyline...
  13. On VectorWorks 10 you have FUNCTION ??OffsetPoly ( ? hPoly :HANDLE; ? ? dist :REAL ) :HANDLE ; Description: Creates a new polyline or polygon from the referenced poly using the specified offset value. [uPDATE: Now I know this function is NOT similar to the Offset Tool] [ 10-10-2003, 07:40 AM: Message edited by: Alexandre B A Villares ]
  14. I'm not sure, but I think the clipboard stores objects copied in a sort of Vector-Pict format. At least I think I did copy from VectorWorks and paste it in FreeHand some time ago. Try cut & paste between VectorWorks and ClarisCAD. I didn't get exactly wat you are doing but EPS seems a good idea too.
  15. Many objects have some or all of it's internal parts set to the 'none' class, even if the container class is another one. You should try not to work with the 'none' class set to invisible...
  16. I think it is by design that those records are hidden from the normal interface, note that they 'are' the PIOs parameters and should not be changed carelessly... [ 02-25-2003, 06:53 PM: Message edited by: Alexandre B A Villares ]
  17. Once you've got a PIO's record you can even set one of it's parameters value from inside it: IF GotPIO THEN SetRField(objectHand, Getname(recordHand), ParameterName, Num2StrF(ParameterNewValue)); For example, if a boolean parameter PSquare is true, make it set pH to pW... Please note that when you set a parameter from inside the PIO it's new value is only noticed at the next redraw, so I would recommend setting a second pair of intermediate variables to do the drawing. [...] W:=pW; H:=pH; IF pSquare & GotPIO THEN BEGIN SetRField(objectHand, Getname(recordHand), 'H' , Num2StrF(W)); H:=W; END; Rect (0,0,W,H); {not Rect(0,0,pW,pH)} HTH, Alexandre
  18. Justin, Each parameter on a PIO is already automatically stored as a field at a record attached to each instance of the PIO, you can find this record using: GotPIO := GetCustomObjectInfo(objectName, objectHand, recordHand, wallHand); {GotPIO is a boolean (true/false) variable I invented just to allow me to use the GetCustomObject function, it stores 'true' if it suceeds.} You can see those records when you perform a Custom Selection looking for a Record/Field value, or when you create a Report. Create your rectangle PIO or insert some NNA PIOs and have a look at the Custom Selection and Create Report commands at the Organise menu. [ 02-23-2003, 07:32 PM: Message edited by: Alexandre B A Villares ]
  19. To get the wall area in elevation I have divided the wall's volume by it's width... For the area in plan view I multiplied width x length (T junctions must be made to the face of the traversing wall).
  20. Yes, I think this can be done. I'll try something... rgrds, Alexandre
  21. I wish you a fast recovery Alistair. If you are on Windows, have you tried a control panel setting that will switch the right & left mouse buttons? On a more general note, I have for many times tought about how to improve VW use by people with disabilities. My girlfriend, also an architect, has limited mobility on her right hand. I wonder if someone with good C++ skills could write a small floating pallete utility that could fool Windows into thinking some modifier key is pressed (shift, control, alt, space bar). A Mac version would also be welcome. [ 02-10-2003, 07:13 PM: Message edited by: Alexandre B A Villares ]
  22. quote: Originally posted by ccroft: GetVectorFillIndex:=-Name2Index(VectorFillList(I)); Oh great! It seems you found it! And Name2Index was one of the first things I've tried, and it didn't work. It just never occured to me at that point it was just a question of sign change. PS: Won't -Name2Index('Hatch Name') work directly? [ 02-09-2003, 07:20 PM: Message edited by: Alexandre B A Villares ]
  23. Hey, have you studied the Constraints Palette? For segment division you can use the Snap to distance (double click to see it's preferences). It will give the divisons with an Along Line snapping screen hint. Works on lines, arcs, circles and up to some extent on arc-based polylines. Another helpful sort of 'construction lines' is brought by the Snap to Edge constraint (also double-click for preferences).
  24. Thanks Raymond! Now Walther, your script with Raymonds's contribution and mine, I tested it and there is still something missing... I added a Message(I); to see the VectorFill index produced, and the Custom Tool/Attributes generated coge gives much bigger negative numbers... Anyone else? code: Procedure CustWall; VAR Name:STRING; Result:BOOLEAN; Function GetVectorFillIndex(VFName :String) :Longint; { Return a VectorFill index # from a VectorFill name. } { Raymond Mullin - 6 February 2003 } Var Done, Match :Boolean; I, VFCnt :Longint; function UpStr(S :String) :String; { An upper string FUNCTION. } Begin UprString(S); UpStr := S; End; { UpStr } Begin VFCnt := NumVectorFills; UprString(VFName); I := 0; Match := False; Done := VFCnt = 0; while not Done do begin I := I + 1; Match := UpStr(VectorFillList(I)) = VFName; Done := Match | (I = VFCnt); end; if not Match then I := 0; GetVectorFillIndex := I; End; { GetVectorFillIndex } BEGIN PushAttrs; ClearCavities; PenSize(14); PenPat(2); AddCavity(TRUE, -7cm, -17cm, -GetVectorFillIndex('My Hatch X')); PenSize(14); PenPat(2); AddCavity(TRUE, -3cm, -7cm, -GetVectorFillIndex('My Hatch Y')); PenSize(14); PenPat(2); AddCavity(TRUE, 7cm, -3cm, -GetVectorFillIndex('My Hatch Z')); DoubLines(34cm); PenSize(14); PenPat(2); SetZVals(0cm, 250cm); FillBack(0); Name:= 'My Special Hatch Below'; Result:=SetVectorFillDefault(Name); { in this case it is a general pattern that covers the whole wall below the others, something llike a background } PenFore(255); PenBack(0); PenPat(2); PenSize(14); PenPat(2); CallTool(-208); PopAttrs; END; Run (CustWall);[/code] [ 02-07-2003, 02:40 PM: Message edited by: Alexandre B A Villares ]
  25. I know that the last argument of AddCavity(TRUE, -0.070, -0.170, # ); is the Fill information (a positive index means Pattern, a negative index means Hatch) But I'm stuck with the problem of getting the VectorFill index from the Hatch's name. The oposite is easy (VectorFillList(index: LONGINT):STRING;). If you set the Hatches you want for your cavities inside the Wall tool preferences, and then use the Custom Tool/Attributes... command you'll get a script with the correct negative index. But I guess it will not be universally valid for any document.
  • Create New...