Jump to content

MullinRJ

Member
  • Posts

    2,007
  • Joined

  • Last visited

Everything posted by MullinRJ

  1. To the best of my knowledge, there is no current support for horizontal spacing. Raymond
  2. michi, Do yo have an immediate need to translate anything to Gerber? I would be more than happy to help. Raymond
  3. Use the U key when you draw with the Polyline tool to cycle through the types of points to be inserted next. You can correct the radii afterward with the 2D Reshape tool. If you set the Fillet Radius to 0 before you draw, the tool will insert the largest radius possible for that vertex. You can also draw a Polygon or Polyline (corner points only) and convert points to ArcPoints afterward with the 2D Reshape tool. And, if you need to do this a lot, you can always write a script (or have one written for you) to make a custom tool that simplifies the repetitive parts of the task. HTH, Raymond
  4. Hi Nick, Line widths are really set in mils (1/1000's of an inch), and have values of 1-255 mils. Even though you can also set them in mm or points, the internal representation is still in mils. The following should help show how it maps. mm = mil 0.03 = 1.18 - rounds to 1 mil (minimum value) 0.04 = 1.57 - rounds to 2 mils 0.05 = 1.97 - rounds to 2 mils 0.06 = 2.36 - rounds to 2 mils 0.07 = 2.76 - rounds to 3 mils 0.08 = 3.15 - rounds to 3 mils ... 6.47 = 254.7 - rounds to 255 mils (maximum value) As you can see, the mm scale is not uniform, especially at 1/100 mm resolution. I don't know if there is any change in how this is done in v12 as I am still awaiting the delivery guy. The display toggling between 0.04 -> 0.05 -> 0.04, etc., is VW's way of showing the equivalent mm value of the 2 mil line by using the last mm value you typed in. Unfortunately, you cannot have both, so to appear consistent, VW displays the last entered mm value for all 2 mil lines, since 0.04mm and 0.05mm are really the same thickness. HTH, Raymond
  5. Hi Kevin, You're right, it is simple. It's a 1 line script: Rotate(45); This will always rotate all selected objects CCW around their collective center. You can have another script to rotate CW: Rotate(-45); If you want to make menu commands instead of scripts, check the VW User's Guide or search this board for instructions on creating a menu command, or ".vsm" object. You can also search the VectorScript List at: http://lists.nemetschek.net/archives/vectorscript-l.html Raymond
  6. If you have a handle to the Group object, use hCenter(grpHand, X, Y);
  7. Hello Eddie, How big are the hard drives, and have they been defragmented recently? Raymond
  8. An Oval in VW is an ellipse. If you convert it to a Polyline, it becomes an approximation using Bezier Curves. If you rotate it, it becomes a Polyline. What do you need to dimension? Major and minor axes are easy. Foci can be found with a little math. Raymond
  9. Sorry Steve, You're right, that's not the right routine, it's for vectors. You need to use SetRot3D. Here's some code that rotates an object around its center point and even corrects a bug in the call. You should be able to adjust the parameters to suit your needs. HTH, Raymond code: procedure StandItUp; VAR Hnd :Handle; X, Y, Z, Xcen, Ycen, Zcen :Real; BEGIN Hnd := FSActLayer; Get3DCntr(Hnd, Xcen, Ycen, Zcen); { find the center point } SetRot3D(Hnd, 90, 0, 0, Xcen, Ycen, Zcen); { absolute rotation on X-axis } Get3DCntr(Hnd, X, Y, Z); { go find it } Move3DObj(Hnd, Xcen-X, Ycen-Y, Zcen-Z); { move it back } END; Run(StandItUp);[/code]
  10. Steve, Check out this old thread. http://techboard.nemetschek.net/ubb/ultimatebb.php?ubb=get_topic;f=21;t=000163 Raymond
  11. If it was created by the Quarter Arc tool, the radii from the center to the endpoints would be half of the major and minor axes, which would be the ∆X & ∆Y values of the bounding box. Other values are harder to get. Raymond
  12. Would a hybrid symbol work for you? 2D & 3D poly joined at the hip? Raymond
  13. Katie posted this last week on 10 August 2005: quote: The list is now available. Please see the information here: http://www.nemetschek.net/downloads/vectorworks/version11/1151ReleaseNotes.html -------------------- Katie Tech Support Specialist Nemetschek North America katie@nemetschek.net
  14. This isn't optimal, but it works. Duplicate your LOCI along the ARC in the CW direction with your fixed setting. Select all LOCI and the ARC. Then use the 2D Mirror tool. With the ARC selected, a snap point at the center of the ARC shows as does a snap point in the middle of the ARC. Mirror your LOCI across the line that connects these two snap points. Raymond
  15. Hi dirlep, You need to call those two procedures from a MAIN body, which is missing. The following compiles, but does not run, because you do not have an event loop defined properly in your second procedure. I added your MAIN body in the following, but you'll have to add a CASE statement to the second procedure to trap the items being clicked. It is of the form: code: case item of SetupDialogC: begin end; 1: begin end; { OK } 2: begin end; { Cancel } 3: begin end; { your items } end; { case }[/code] Your code should be part of one of the items in the CASE statement, possibly the OK button. You are about 90% done. Raymond code: procedure MyDialog; VAR id, result :Integer; FUNCTION Define_MyDialog : INTEGER; VAR id: LONGINT; BEGIN id := CreateLayout('puntjes zetten',TRUE,'Doe maar', 'effe wachten'); CreateStaticText(id,4,'Geef X1:',-1); CreateEditReal(id,5,4,0,10); CreateStaticText(id,6,'Geef y1:',-1); CreateEditReal(id,7,4,0,10); SetFirstLayoutItem(id,4); SetRightItem(id,4,5,0,0); SetRightItem(id,5,6,0,0); SetRightItem(id,6,7,0,0); { perform final control alignment and adjustment } AlignItemEdge(id,4,1,1001,0); AlignItemEdge(id,8,1,1001,0); SetHelpString(1,'Voert het gevraagde uit.'); SetHelpString(2,'stop en sluit.'); SetHelpString(4,'beetje uitleg nodig?'); SetHelpString(5,'amaai.'); Define_MyDialog := id; END; PROCEDURE Drive_MyDialog(VAR item:LONGINT; data:LONGINT); VAR x,y,y1,x1:REAL; id: LONGINT; result : LONGINT; BEGIN DSelectAll; GetPt(x, y); {bepaald het invoegpunt} SetOrigin (x,y); locus(x,y); PushAttrs; PenFore(255); PenBack(0); PenPat(2); PenSize(14); PenPat(2); Marker(0, 0.125000, 15); NameClass('beton sier'); Poly(1,0 , 0,1 ,0,12 ,x1,y1, 1,0 , 4,0 , 1,0 ); PopAttrs; SetOriginAbsolute(0,0); dselectall; END; Begin id := Define_MyDialog; result := RunLayoutDialog(id, Drive_MyDialog); End; RUN(MyDialog); [/code]
  16. Imt, I don't presume to know all the particulars, but I would think a VectorScript might address your problem. You'd have to execute the script in each file that needs updating, as a script cannot be run across multiple files at the same time, but that would still be easier than doing it manually. Try posting your question in the VectorScript section of the board. You might be able to export your good file as VectorScript and copy most of the code you need from there into a new script file. I'm sure someone can guide you to the right area of the VectorScript file to get you started. Raymond
  17. Hi Charles, You are welcome. If you are working in binary fractions, then use powers of 2 as you would powers of 10 for decimal precision. Or, more to the point, make your scale factor = 16. The ROUND function will snap things to the nearest 1/16. Actually, the INT function in my previous post is redundant. ROUND is similar to INT but has a little more savvy. =ROUND(HEIGHT*16)/16 =ROUND(WIDTH*16)/16 If you put your scale factor in a spreadsheet cell and reference it, you can change it easily. For example, set cell A1 to 16 then use: =ROUND(HEIGHT*A1)/A1 =ROUND(WIDTH*A1)/A1 Then change it to 8 to see if your counts change. They should if there is enough variation in your data. Try 4, 2, 1 & 32 for comparisons, or amusement. HTH, Raymond
  18. Hi Charles, I just tried what you did and get similar results for some Rects, and expected results for others. When exported to v8, I also get good and bad results, though the counts are different than in v11 (go figure). It does look like a rounding problem, but it's been here a while. Try these formulae: =INT(ROUND(Height*1000))/1000 =INT(ROUND(Width*1000))/1000 to give you 3 decimals of accuracy. Change the number of zeroes in the scale factor (1000 in this example) to get more or less decimal precision. Raymond [ 07-05-2005, 11:46 AM: Message edited by: MullinRJ ]
  19. Hi Charles, What happens if you export the VW11.5 file back to VW8.5? I'm not a guru of worksheets, but it may help if you list your summary formula. The error I reported earlier had to do with numbers being compared to 0. If they are any closer than about ?10^-13, comparison operators declare them to be equal (i.e., (3*10^-15 = 0) evaluates to TRUE). Sometimes this is a good thing, sometimes not. It depends on what you are doing and how picky you need to be. I don't think your problem is related, but I can't tell yet. Raymond
  20. Orso, Not sure where you get you default hatch. Are you opening a blank file, a template file or the "VectorWorks Default" file? Or perhaps opening a file from a previous version? 1.9685..." = 50mm (not so weird a number) Are you using a metric hatch? I exported a document in inches and mm and got the same output: hatchName1:= 'Default Hatch'; BeginVectorFillN(hatchName1,TRUE,FALSE,0); AddVectorFillLayer(0,0,1,1,0.176776695,-0.176776695,1,1,255); EndVectorFill; I don't use hatches, so I doubt I've ever changed it. VW11.5 mac Raymond
  21. Whew, that's good to hear. On first reading, I thought you wanted Larry to decompose. But then I figured you had to be referring to the Polygon. Heck, you live halfway around the globe from each other. You couldn't hate him that much ;-)
  22. I think Mike means, Decompose the Polygon, and does not wish you to do so. (correct me if I err, Mike) You can also use the "Convert to Lines" or "Convert Copy to Lines" menu commands. Raymond
  23. If you click in the drawing before a PASTE (not Paste-In-Place), VW will past the object(s) on the clipboard where you clicked. Is that what you are looking for? I use the mode often. Copy - Click-Paste - Click-Paste - Click-Paste, three copies arrayed just as I want them. It's fast and easy. Raymond
  24. Hi Bill, Thanks for the tests. Bug or not, the $INCLUDE functionality changed from v10 to v11. Yes, as far as I can tell, included files can only be resolved in v11 if they reside inside the VW application folder. Using shortcuts/aliases can get you outside that realm. Personally, I'd like to see it work they way it used to in v10, but I can live with using aliases for my hard drives in the VW App folder. All the best, Raymond
×
×
  • Create New...