Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Petri

  1. Charles is right - eg. my free 'Cloning around' class utility at VectorDepot is ideally suited for switching between different graphics standards, using classes. It seems to work with VW 10 & 11. If you are systematic, you first create 'on screen' settings with colours, then use 'Clone classes' to create a stand-alone VectorScript program ('macro' in the old parlance). Next you change class attributes for printing purposes and clone those. Finally, you use the VectorScript plug-in editor to create menu commands: say 'New command' and in the editor window 'Get text' to pull the appropriate script in. Say OK, repeat for the other one and install the commands to your workspace with the Workspace editor. In fact, for QA purposes you might add to the auto-generated scripts these lines: Printing settings command: code: SETPREF(9, TRUE); { Zoom on } SETPREF(10, TRUE); { Print in B/W on }[/code] On-screen settings command: code: SETPREF(9, FALSE); { Zoom off } SETPREF(10, FALSE); { Print in BW off }[/code] Depending on file size and number of classes, the change is either fast or slowish.
  2. But they do if you give meaningful names to the classes to be used - colour etc. are class attributes. I use classes for materials (MAT-TIMBER, MAT-ALUMINIUM, MAT-GLASS etc) and colours (COL-BLACK, COL-RED, COL-BLUE etc) and have no trouble remembering, as they are all in the class definitions. Oh, BTW, I should have also pointed out that the number of choices is entirely up to the user. You can have as many choices as you want.
  3. Not that I would remember PowerPoint arrows (probably never used them), but in what respect are they superior to those in VW? My biggest complaint with VW arrows is that you can't put them to polygons or polylines, but the editability has been sufficient for my uses. (Memo to myself: write a plug-in for polygons with arrows.)
  4. Oh dear - time for my regular input once again: Use the Vectorscript plug-in editor (in Organise -menu) to change the values in the pop-ups for classes. You can even type the values elsewhere and copy/paste them to the list. So, you scroll to the PIO in question, select it, click on the Parameters -button, then scroll again to the Class settings -section, select a field and say Edit. The value list is behind Choices -button. (And no, it does not take half an hour.) And while you are in a mood for a melody, you can also change the default values of any parameters to be what you are most likely to use. For us metric folks, that is really important.
  5. Amagine, X & y values are easy (see VectorScript discussion for a solution), but z values can get hairy - the user interface for placing objects in z axis is not exactly 'there.' Or maybe it is, but I'm somewhere else... Anyways, the robust solution is a parametric object. Which might even use a symbol as the marker.
  6. quote: Originally posted by archoncad: i don't have much of a problem snapping to witness lines. The reason is that I use Fixed Witness Line Length. Your builders must love your drawings! Now, I come from the Old School (1970s): we used to have up to 10 chained dimension lines on the top & left side of the drawings, with teeny weeny witness lines, and the poor builder had to decipher what they meant. But graphically the drawings looked fantastic! Not to mention the buildings. Well, our builders also came from the Old School and actually knew what they were doing. What a luxury! (Don't take this too seriously, Jon!)
  7. Sorry, Damo - not with worksheets and symbols, but if instead of symbols you would use (simple) parametric objects, they would work (via a data record.) The script of the PIO might be something like this: code: { -------- START SCRIPT -------- } PROCEDURE xyMarker; { ? Petri Sakkinen 2002 - 2004 } CONST rName = 'refdata'; { the name of the data record you wish to use } xField = 'xCoord'; { and the names of the fields } yField = 'yCoord'; lineLength = 500mm; { modify constants so the size suits you } textX = 700mm; { ditto with tag locations } textY = 700mm; VAR x, y, xo, yo : REAL; me, rHd, wHd : HANDLE; myName, xCoord, yCoord : STRING; ok : BOOLEAN; BEGIN ok := GETCUSTOMOBJECTINFO(myName, me, rHd, wHd); SETOBJECTVARIABLEBOOLEAN(me, 800, TRUE); GETSYMLOC(me, x, y); x := x - PXREF; { we have parameters for coordinate reference } y := y - PYREF; { point in case of a specific local coord origin } xCoord := NUM2STRF(x); yCoord := NUM2STRF(y); SETRECORD(me, rName); SETRFIELD(me, rName, xField, xCoord); SETRFIELD(me, rName, yField, yCoord); xCoord := CONCAT('x ', xCoord); yCoord := CONCAT('y ', yCoord); MOVETO(-lineLength, 0); { crosshair lines } LINETO(lineLength, 0); MOVETO(0, lineLength); LINETO(0, -lineLength); TEXTORIGIN(textX, 0); CREATETEXT(yCoord); SETTEXTVERTICALALIGN(LNEWOBJ, 3); SETTEXTJUST(LNEWOBJ, 1); TEXTORIGIN(0, textY); TEXTROTATE(90); CREATETEXT(xCoord); SETTEXTVERTICALALIGN(LNEWOBJ, 3); SETTEXTJUST(LNEWOBJ, 1); END; RUN(xyMarker); { -------- END SCRIPT -------- } [/code] The PIO properties must be 'Reset on move'. Note that you only need to modify the constants to customise the marker a bit, like size & the record/fields you wish to use. Note also that this only does x & y, but you can easily add z with function GETSYMLOC3D(me, x, y, z) and by adding a third text creation/data writing module. [ 10-22-2004, 09:09 PM: Message edited by: Petri ]
  8. The original question seems to refer to Finder previews. This does not work with VW files - or many other files, for that matter. By and large, it is limited to graphics and plain text files. The preview is often generated by Finder. I'm not even sure what the preview should show: a VW file is not technically 'a drawing' but rather something of a database from which you generate tens of drawings.
  9. No scripting needed - you can just use the worksheet (report) to get the locations. Depending on the design of symbols, different functions are needed, but I would suggest a design where =XCENTER and =YCENTER provice correct results. Labelling is best handled with a data record, so you can show the numbers on the drawing with linked text.
  10. Quite possible and very easy. Use GETPTL(x1, y1, x2, y2) to retrive coordinates and to define the text location, then TEXTORIGIN(x2, y2) and CREATETEXT([coordinates converted to text with NUM2STR, separated with CHR(13)]). For clarity, convert first to string variables. Better still, make it a PIO (with a different approach and code) and you can move it, with coordinates automatically updating.
  11. Hear, hear! The same applies to associative hatching - if I say 'hatch', the odds are overwhelmingly that I want to use the hatch I used before. And when I say 'edit hatch' (in the attributes palette), the newly edited is likely to be the one I want.
  12. quote: Thought it was a problem of your partners solved by using the Apple mouse?Yes - she had real pains, requiring medication and days off, mine were mainly frustration, although after a long day even my hand and wrist were tired and achy. quote: What's that suppose to mean?Well, it was an attempt of humour - aren't architects always blamed for form over function? I know I am!
  13. quote: Originally posted by alanmac: Can't see this myself. Lucky you - the two years I worked with a PC and two-button mice (bought several) were a constant pain. quote: Apples dogged form over function attitude I take you are not an architect... But, hey - whatever works is good. I just find Apple's current mouse very comfortable and relaxing as it allows any hand position or clicking method - even with a glass of Scotch in hand (it is quite late here and Saturday.)
  14. It seems that nowadays one can indeed get the z-values of symbols with a script, but still not with a worksheet. A script can write to a worksheet, - but it won't be a database report. A script can also write to a record, but not automatically. A PIO would do both (say, one that places a symbol), but that is a fair bit of work, to get the user interface right. And now, just for curiosity: what sort of data exchange you have in mind? quote: Specifically I want to be able to create a database worksheet with this coordinate information for export into 3D visualization information. One would think that there are other ways than parameter export/import, but obviously the receiving program can be controlled by parameters.
  15. quote: Originally posted by Kaare Baekgaard: By the way: It would be nice, if I were able to replace 3D loci with symbols Not quite sure if this will work but give it a go. It is a generic utility I have used in 2D drafting for years; just added support (?) for 3D symbols, but did not test or even check the syntax. code: PROCEDURE sel2syms; { ? Petri Sakkinen 1998-2004 } { This macro replaces selected objects on the active layer with instances of the active symbol } VAR i, n, objType : INTEGER; x, y, z, a : REAL; xi, yi, zi, ai: ARRAY[1..1000] OF REAL; theSymbol : STRING; obHd : HANDLE; BEGIN theSymbol := GETSDNAME(ACTSYMDEF); IF (theSymbol > '') THEN BEGIN obHd := FSACTLAYER; i := 0; WHILE obHd <> NIL DO BEGIN i := i+1; x := 0; y := 0; a := 0; z := 0; objType := GETTYPE(obHd); CASE objType OF 9 : GETLOCUS3D(obHd, x, y, z); { found a 3D locus } 15 : BEGIN { found a symbol } GETSYMLOC3D(obHd, x, y, z); a := GETSYMROT(obHd); END; 17 : GETLOCPT(obHd, x, y); { found a 2D locus } OTHERWISE HCENTER(obHd, x, y); { found something else } END; { case } xi := x; yi := y; zi := z; ai := a; obHd := NEXTSOBJ(obHd); END; IF YNDIALOG('Delete selected objects?') THEN DELETEOBJS; FOR n := 1 TO i DO BEGIN SYMBOL(theSymbol, xi[n], yi[n], ai[n]); IF z <> 0 THEN MOVE3DOBJ(LNEWOBJ, 0, 0, zi[n]); END; END ELSE ALRTDIALOG('You must have an active symbol'); END; RUN(sel2syms); {-------------------------------- Petri Sakkinen panta rhei information technology 19/125 Oxford Street Collingwood VIC 3066 Australia ---------------------------------} [/code] Made a couple of small corrections. Hmm - should I even test it? Right - seems to work. [ 10-08-2004, 07:09 PM: Message edited by: Petri ]
  16. Not only live sections, but ones where solid objects are actually solid (and I don't mean only solids, but also slabs, walls, roofs, extrusions etc. - anything in 3D that has a fill or texture. Ideally, there would also be two line weight definitions - one for, say, perspectives and axos, another for plans and sections (plan being a horizontal section.) The implementation might be best handled with viewports, by adding a section line that would work in the same fashion as crops, with the option of a 'double line', ie. the depth of the section. Sections should also be able to viewed in perspective. In the good old drawing board days I did sections in scale 1:20, sometimes with the background in perspective. Now, in some professional fields, the required section planes are not necessarily vertical, so obviously the section line needs to be definable in any projection of the viewport. 'Cascading' booleans for these live sections would of course be hugely nice....
  17. And, NNA, while you are implementing Mike's wishes (all seconded): one should not be able to snap a dimension to a witness line of another dimension.
  18. Hey, APE Design, were the default values entered before placing the symbols? Changing defaults does not affect existing instances. If the instances predate defaults, don't panic. Use custom selection to select all instances of the symbol, then in OI say 'Replace'; use any symbol you have and then repeat 'Replace' with the actual symbol. This does not work if the symbols are in walls, but I think I have a script somewhere that does the job.
  19. This is for reversing vertices of a path PIO, but you should be able to modify it to work on 3D polys - just remember that the first vertex is 0, not 1. Synopsis: - read vertex coordinates into an array - use the array to reposition vertices in the reverse order ------------ PROCEDURE ReversePath; { ? Petri Sakkinen 2002 } VAR i, j, n : INTEGER; x, y, t, r : REAL; obHd, pHd : HANDLE; vx, vy : ARRAY[1..100] OF REAL; ok : BOOLEAN; BEGIN obHd:=FSACTLAYER; pHd:=GETCUSTOMOBJECTPATH(obHd); n:=GETVERTNUM(pHd); FOR i:=1 TO n DO GETPOLYLINEVERTEX(pHd, i, vx, vy, t, r); FOR i:=0 TO n-2 DO SETPOLYLINEVERTEX(pHd, n-i, vx[i+2], vy[i+2], t, r, TRUE); END; RUN(ReversePath); ---------------------
  20. Did anyone who lost viewports by any chance change layer scale with 'all layers' option? If so, do it again, and change the scale to 1:1, after that, change the scale of design layers by selecting them in the Layers dialog; in the Scale dialog do NOT say 'all layers.'
  21. Hear, hear! It is all too easy to say 'buy the fastest computer available', but in the real world, few people are able or willing to buy new hardware every few months.
  22. quote: Originally posted by Kevin: It has been my assumption that programs running under Classic will run slower. Are you saying that VW runs faster under Classic emulation than under native OS X? How exactly do you have this set up? VW runs a lot faster in Classic mode, not quite as fast as under 'real' OS 9, but still heaps faster than in OS X. OK, I have only a G4/800 with 768 MB of RAM, but with OS 9 that had plenty of power. So, I made a copy of VW 9 (application itself) in the VW folder and in 'Get Info' ticked the 'Open in Classic Mode' box.
  23. The main advantage of Jaws against print dialog 'Save as PDF' is that it uses round pens; also there is some control over the quality (and therefore file size.) Against Acrobat that Jaws uses round pens without a PS printer - and price.
  24. As comes to occupational health, Apple's one-button mouse pretty much cured my partner's carpal tunnel syndrome, caused by several years of Windows use - despite the fact that she works on the computer at least twice the hours she used to. This is simply because one does not have to in any way twist one's fingers and locate a particular button.
  25. OS X is going to make things a lot slower. I have two copies of my VW 9: one that runs under Classic, for actual work, and another that runs under OS X, for mainly generating PDFs with Jaws PDF Creator. Even simple things, like saying 'Select all', are painfully slow in OS X and you definitely don't want to have any imported images in your files.
  • Create New...