Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by MullinRJ

  1. I noticed this a few days ago, the clock for this BB is 1 day behind. Anybody check it lately? Unless I am in a time warp, all my time pieces show it to be the 18th of March 2002, yet this post is showing up on the 17th. Happy St. Paddy's Day (again),Raymond
  2. David, Are you using a PC or a Mac? There are some free Gerber viewers on the web for the PC. I use VW on a Mac, but view the Gerber files on an OrangePC card in my Mac running Windows. The viewer I use is ViewMate and the website is at www.lavenir.com If you get it installed, I would still like to try a translation for you. It would help me see if I have any glaring holes in my code. So far, I am very happy with the results I am getting, especially being able to use fonts from my system. If you have ever seen Gerber output from a PC CAD system, you will know that it leaves a lot to be desired. Best wishes,Raymond
  3. David, In the absence of any viable route to GERBER output from VectorWorks, I have recently written a program to translate VW to GERBER. It is not yet ready for market, but if there is enough demand I would like to publish it. I am a circuit board designer and have been using PostScript output for film from VW using another translator that I also wrote. But as tolerances tighten and overall dimensions increase, the need for GERBER output is becoming pressingly necessary. So I buckled, and wrote my own. (I think "buckled" is very appropriate here.) I sent my first files to my board shop for evaluation today, and I am in need of testing my software. It works quite well for files I generate, but then again, it should. I handle most of the basic graphic objects; lines, circles, ovals, arcs, rectangles, polygons, polylines (these are not easy), symbols, and TEXT (my biggest cause of neuropathy and insomnia in the previous month). All objects can be filled, stroked or both (except text, just filled) and Dark or Clear. I do not handle SpreadSheets, imported images or 3D graphics, but HEY!, this is GERBER, I'm just glad I got this far. If you would like, send me a file and I will translate it for you, or contact me at the address below. If others have an interest in this program, now is a good time to let me know. Raymond MullinMullinRj@aol.com
  4. The code got a little garbled. I think it should read like this: Procedure TurnOffClass;var xpoint, ypoint, dummynum : Real; thisobject, thissubobject : Handle; classname : String;BEGIN dummynum := 123; WHILE NOT GetPickObjectInfo(xpoint, ypoint, thisobject, thissubobject, dummynum) DO GetPt(xpoint,ypoint); IF (thissubobject = NIL) THEN BEGIN ClassName := GetClass(thisobject); HideClass(ClassName); END; IF (thissubobject <> NIL) THEN BEGIN ClassName := GetClass(thissubobject); HideClass(ClassName); END;END;Run(TurnOffClass); Procedure HideObject;VAR X, Y, dummynum : Real; thisobject, thissubobject : Handle; classname : String;BEGIN DSelectAll; dummynum := 123; WHILE NOT GetPickObjectInfo(xpoint, ypoint, thisobject, thissubobject, dummynum) DO GetPt(X, Y); IF (thissubobject = NIL) THEN SetSelect(thisobject); IF (thissubobject <> NIL) THEN SetSelect(thissubobject); Hide(SEL);END;Run(HideObject); R Mullin
  5. I just noticed that all fonts that display a large vertical shift on my system have Bitmap Fonts in the font suitcases along with the TrueType outlines. The bitmaps are used for screen display before the outlines, when they exist. After removing the bitmaps from my font suitcases, and rebooting, the vertical shift diminished but did not go away completely. I am still hoping a font expert will ride over the horizon and shed light on this 'feature'. Raymond
  6. This post is to both Gunther Miller (NNA Tech Support) and the rest of the board: Last week I sent a bug report to NNA on the "TrueType To Polyline" Menu, where it always returns the outline of the plain face regardless of the typeface selected (bold, italic, etc?). I also noticed that the outline was shifted down about 0.02" (for 10 point type, the amount depends on the point size and font), but only for Helvetica & Times typefaces, however, there may be more. On much further examination, I am now of the belief that Helvetica & Times are displaying incorrectly on screen relative to their bounding boxes, whereas other fonts seem to display correctly (Geneva, Charcoal, Apple Chancery, Sand - just to name a few) and therefore translate to paths without vertical translation. In font terminology, the Ascent and Descent values are wrong. My question to the board, has anyone else seen this shift with the Helvetica or Times fonts? (On a lighter note, does anyone else care? I know I can be picky.) If no one has seen this behavior, It may be that my Helvetica and Times fonts are the culprits. They are the TrueType fonts that came with the system (OS 9.0.4). When using the TextVerticalAlign(2) mode (align on the Baseline of the top line of text), all fonts display properly on the screen, but my problem is more apparent when TextVerticalAlign(1) is employed (align text to the top of the bounding box ? the old fashioned MiniCad way). I have not experimented with the other alignment options (3, 4 & 5).Also, the vertical shift encountered when converting TrueType to paths occurs regardless of the TextVerticalAlign option selected. Any and all comments will be appreciated. I have included the first twoletters to NNA for your reference. Raymond Mullin > Gunther,> Thank you for responding so quickly. Do you know of any work > around to import the shapes of fonts that are >more that the plain > style (bold, italic, etc...)? I would even accept an encrypted script > gladly, if one exists.> > Thanks in advance,> Raymond Mullin> -----------------> Forwarded Message: > > Subj: Re: Bug Submit> Date: Wednesday, February 27, 2002 1:21:10 PM> From: gunther@nemetschek.net> To: MullinRJ@aol.com> > From: gunther@nemetschek.net (Gunther Miller)> To: MullinRJ@aol.com> > Raymond, although TrueType to Polyline performance has improved > for VectorWorks 9.x, the two items you mentioned are still valid. I've > placed an entry into our bug database regarding each item. The first > item mentioned has been logged as a 'Wish' and the other has been > entered as a bug.> > Thanks for spending the time to report your findings.> > Gunther> > Gunther Miller> Quality Assurance> Nemetschek, N.A.> >> On Wednesday, February 27, 2002, Bug Submit <bugsubmit@nemetschek.net> >> wrote:>> >> ---------->> From: <MullinRJ@aol.com>>> Date: Wed, 27 Feb 2002 01:32:12 -0500>> To: <bugsubmit@nemetschek.net>>> Subject: Bug Submit>> >> Name: Raymond Mullin>> Email: MullinRJ@aol.com>> OS: Macos9>> Version: 8.5.2, 7.0.3, 6.0.4>> Bug Description: Menu - TrueType To Polyline>> >> Steps: The "TrueType To Polyline" menu option only returns the plain>> face outline of a font. I used several text blocks of the character B,>> each set to a different typeface (Plain, Bold, Italic, Bold-Italic,>> Outline, etc...) and then converted them to polylines. All paths were>> identical and only matched the Plain typeface. I tried Helvetica and Times>> fonts with the same result.>> Also, for a 10 point typeface, the outline is shifted down in the Y>> axis only, by 0.0180556".>> The result is the same in MC 7 & MC 6. Has this been fixed in version>> 9.x?>> >> I am using a Mac G4/500 with OS 9.0.4. I checked, and I do have>> TrueType versions of the fonts loaded in the System Fonts folder, and I am>> also running ATM 4.5.2.>> >> If you would like, I have a small file prepared to send.>> >> Thank you,>> Raymond Mullin
  7. T/s, I agree, change can be good. And it can also be bad or indifferent. However, the change that broesler started this discussion with concerned a VERY BASIC modality of the program, one that I personally believe should not be jacked with. There is no reason why NNA cannot add a feature without replacing an existing feature of the program. If they survey enough users I believe they can determine which features, WE the users, consider sacred and which WE don't. Over the years, I have lost more than one feature that I considered sacred to the way I use the program. I prefer not to loose any more, and will continue to use older versions of the program to maintain my peace of mind. Respectfully,Ray Mullin
  8. After 12 years of using MiniCad and Vectorworks, the last thing I want to see is changes to the basic interface. Count me out for future upgrades if you continue to redesign key elements of your program. REMEMBER - You should be designing features your customers (WE) want, not redesigning the basics you think we should have. If you ever change a basic operation of the program, PLEASE add a preference switch so we can return to the tried and true way of doing things. Ray Mullin
  9. Chrissy, You're gonna like this! There IS a way to get a HANDLE to all the Worksheets (WS) in an active document. The trick is to get the first (or last) handle of the WS list so you can step through the entire list. In this approach, I create a dummy WS and get a handle to it. This precludes having to know the name of any WS in your document. Once you have the handle to a new WS (creating it places it at the end of the list), stepping backward through the list is quite easy. The IF statement is necessary to screen out the WS's since the list also contains objects that are not WS's. (It is left to the reader to determine what objects these might be). I tested this code (with some minor modifications) on VW 8.5.2, so I was not able to run the 'RecalculateWS' command which is new to VW 9, but I was able to determine the number and name of each WS in my drawing. If you like this method, drop me a line. If you REALLY like it, send money. Happy Recalculating. Ray MullinMullinRJ@aol.com ***** PROCEDURE RecalcAllWS;CONST aWorkSheet = 18;VAR WSHnd, hndDummyWS :Handle; BEGIN { Get handle to a Dummy Worksheet which gives you a handle in the WS list } hndDummyWS := CreateWS ('DummyWS', 1, 1); { New to VW9 } WSHnd := hndDummyWS; { save to temporary variable } while (WSHnd<>nil) do { Traverse the WS List } begin if (GetType(WSHnd)=aWorkSheet) then RecalculateWS(WSHnd); { New to VW9 } WSHnd := PrevObj(WSHnd); { Next Obj on WS List } end; DelObject(hndDummyWS); { delete when done }END;Run(RecalcAllWS); ****** If you need to step through WS's in VW8.5.2 or earlier, replace : hndDummyWS := CreateWS ('DummyWS', 1, 1); { New to VW9} with : NewSprdSheet ('DummyWS', 1, 1, 1, 1, false, false); hndDummyWS := GetObject('DummyWS'); RecalculateWS() won't work in these versions, but you may have other things to do to your WS's.
  10. I love this BB except for the fact that it removes indentation for posted code. If you would like me to email the code (w/ indentation), drop me a line at MullinRJ@aol.com and I'll send it over. Raymond
  11. If all you want to do is perform a function on a GROUP, and you don't care how deeply nested it is, you can use the ForEachObjInLayer procedure. PROCEDURE ForEachObjectInLayer (actionProc : PROCEDURE;? ? objOptions :INTEGER;? ? travOptions :INTEGER;? ? layerOptions :INTEGER); with procedure calls reading something like this: Procedure actionProc(H :Handle); Begin if (ObjType(H)=11) then begin { Do something to GROUP here } end; End; ForEachObjectInLayer(actionProc, 0, 1, 0); The Online Function Reference can be found at:http://www.nemetschek.net/support/custom/vscript/functionref/VSFunctionReference.html IF you would like to have more control of object processing, the following recursive routine can be used. Recursion is fun, especially if you have lots of RAM, but who doesn't these days? PROCEDURE Recurse;CONST aGroup = 11;VAR Level :Integer; ObjHnd :Handle; Procedure StepIn (ObjHnd :Handle; var Level :Integer); { Step through each Obj in a Group } Begin Level := Level + 1; { counter is not necessary, but can be used for debug } { Do stuff to entire GROUP object here, if desired } ObjHnd := FInGroup(ObjHnd); { Get handle to First Obj in GROUP } while (ObjHnd<>nil) do { Step through each Obj in GROUP } begin if (GetType(ObjHnd)= aGroup) then StepIn(ObjHnd, Level) { Enter nested GROUP and continue } else begin { Do stuff to non-GROUP objects here, if desired } { these are the non-GROUP objects that are in the group } end; { if } ObjHnd := NextObj(ObjHnd); { Next Obj in GROUP } end; { while } Level := Level - 1; { Decrement on exit } End; BEGIN Level := 0; ObjHnd := FActLayer; while (ObjHnd<>nil) do { Step through each Obj on Active Layer } begin if (GetType(ObjHnd)= aGroup) then StepIn(ObjHnd, Level) { now enter the group and continue } else begin { Do stuff to non-GROUP objects here, if desired } { these are the non-GROUP objects that are on the Active Layer } end; ObjHnd := NextObj(ObjHnd); { Next Obj on Active Layer } end; if (Level<>0) then SysBeep; { Something went wrong }END;Run (Recurse); Have fun,Ray Mullin [ 01-08-2002: Message edited by: MullinRJ ]
  12. Chris,In the default workspace, the top left icon of the Constraint Palette is the Snap-To-Grid constraint (4 dots with grid lines going through them). It toggles the Snap-To-Grid feature. The keyboard shortcut is the "A" key. Pressing the "A" key twice quickly (or double clicking the icon) will bring up the Set Grid dialog box. Hope this helps. Raymond Mullin
  13. Have you tried making the graphic a symbol? If not, select the graphic and choose Create Symbol from the Organize menu. Then you can place the symbol twice in your drawing, once on each side of the sign. If you need to edit the graphic/symbol, the changes will appear in both instances in your drawing. Good luck,Raymond Mullin
  14. Matthew, Thanks for your reply. I am running on a Mac G4 under OS 9.0.4 using AOL's built in browser. I have not changed any internet settings in this or the other two browsers. I get the same display in all browsers. When I looked at the current AOL www advanced settings, the hyperlink color was set to bright blue, and the viewed hyperlink color was set to bright green. However, the NNA Tech Board hyperlink colors both display as a grayish blue. It looks nice, but with no difference in color it is not very usefull. What colors are intended for the Tech Board design? Any assistance you can offer would be greatly appreciated. Raymond Mullin [ 11-02-2001: Message edited by: MullinRJ ]
  15. This board has gotten another facelift, which may be well and good, BUT, I am experiencing one small problem. The TOPIC lines are displayed as blue-gray letters over a gray background. After I read an item I cannot tell that I have done so by examining the list of TOPIC lines, because, there is no visible change to the appearance of the hyper-linked text. If it has been grayed, I cannot see it. If there is a way for me to set a preference, I do not know it. Do others experience this "feature"? The appearance is the same in AOL's browser, Netscape 6.0 & Internet Explorer 5. Raymond Mullin
  16. Your musings may be rhetorical, but sometimes it is fun to toss in an answer anyway. I see an additional fourth situation. They are people, who like myself, see this board as a valuable learning tool. It took me three years in college to realize that doing my homework with a group in the library was better than doing it at home alone. I learned more and I learned faster. So, color me slow to learn, but quick to remember. This board is used by those that like to communicate, but more importantly, by those that know it is here. Based on historical postings, this board was up and running for more than a year before I discovered it. A better question to ask, "How many people that might use this board still do not know of it?" In my humble opinion, NNA would do well to repeatedly get the word out on the existence of this board. We would all benefit from increased usage. I thank you all for participating. You have taught me much. Thanks also to NNA for maintaining and answering this board. Raymond Mullin
  17. This bulletin board provides excellent feedback for NNA to hear the rants of the installed base, as well as the praises. If they do not respond to this FREE feedback, (some companies pay big bucks for this kind of info), then they may find themselves relegated to a path of slow extinction. I for one do not think this a likely outcome, but given enough time, NNA's responses will dictate how long their customer base will stay loyal. NNA needs to improve their discipline of product development for the system to work better. The reward for their efforts will be an increase in units sold. The lure of providing more service for an added price is a negative incentive. If they are to live up to our expectations, they need to do less - they need to do it better. The laws of economics are strongly at play now - evolve, or go dormant. As simple observation can easily point out, not all evolutionary steps are beneficial to an organism - case in point VW9. With limited resources at hand, NNA must balance their repair efforts with their development efforts, but if they cannot find balance, I pray they err on the side of repair. I don't believe you can get better service just by throwing money at a service provider, especially if it is thrown AFTER the service is provided, as would be the case of increasing the product price. If you were to offer the money BEFORE service is provided, that would be more akin to investing in the company, and can readily be done by purchasing stock. If NNA reads this, I am still using VW8.5.2 and MC6, and will continue to do so until the tone of this bulletin board tends toward praise for their efforts. Please keep the rants coming. I learn much from them and I hope NNA does too. Respectfully, Raymond Mullin
  18. No, the screen redraws automatically at the end of my script, but the objects don't move properly when multiple objects are selected. I did receive a reply from Tech Support. Here it is: <<< Mr. Mullin: > I have been trying to use two new VectorScript procedures to no avail - > hMoveForward and hMoveBackward. In my efforts to determine how these > procedures were functioning/failing, I ran across some other anomalies that > seem to have been around for quite some time. The VectorScript commands > Forward/Backward/MoveFront/MoveBack all have quirks that manifest themselves > when multiple objects are selected. Strangely enough, when the same commands > are invoked using the DoMenuTextByName( ) procedure, slightly different > results occur. In response to you concerns, we have used your test file under VW 8.5.2 and replicated the problems described. However, using VW 9.0, we were unable to replicate the problems save for one issue (described below). The problems described have been corrected. Regarding outstanding issues: 1) With respect to the movement of multiple selected objects using forward or backward commands, VW treats the multiple selection as a single object which is move forward or backward in the stacking order. We have entered this issue in our bug list, but it will not be addressed until VectorWorks 10 at the earliest. 2) The increasing script run times are the result of the undo system storing the object shuffling events in the undo list. You can eliminate this performance penalty by setting the number of undos to zero. This can be set directly from a script by using the function call SetMaximumUndoEvents(). If you should have any questions regarding these or other issues, please feel free to contact us. >>> I was trying to write a script that would insert a point in a POLY when I encountered the problems with hMoveForward & hMoveBackward. I am able to properly insert a point in a POLY except for maintaining the stacking order of the POLY with respect to the rest of the drawing. This is because I need to create a new POLY with the added point and delete the old POLY. Of course new objects are created on top, and I was trying to move the object back in the stacking order where the original was (yes, it is a convoluted approach but it works except for the hMoveBackward problem). I can get by without hMoveBackward, but I can't make a perfectly generic solution without it. I was hoping to make a Plug-In tool with this approach, but, c?est la vie, the brick wall cometh. There was one other minor shortcoming to my endeavor, VectorScript does not have a way to query/set the OPENPOLY/CLOSEDPOLY attribute. All other attributes, including attached records, can be copied to the new object. If anything here is of interest to you let me know. I will be more than happy to share what I've found. Raymond
  19. Congratulations, Yannickn, for the first post to a dreadfully underused discussion area. Out of curiosity, how many users use the SDK? How about Plug-Ins? I find it odd that this section of the board was unused until yesterday. This is facet of the program I would love to exploit, but due to the dearth of available material and examples, I am finding it hard to get my feet wet. Raymond
  20. MullinRJ


    Out of curiosity, how many users use VectorScript on a regular basis? I find it odd that this section of the board is practically unused. Raymond
  21. Caleb, I agree with your concept of focus, but I believe you do not understand our frustration in not being able to EASILY control the modality of the total drawing environment. The keyboard is used extensively in all aspects of drawing - for selecting tools, selecting constraints, selecting the view, AND for entering data. Pressing a keyboard shortcut after data entry has been completed, but before the drawing has been reselected, can lead to a lengthy series of hand movements to recover from the errant keystroke, and that is best exemplified when using the Obj Info Palette. Currently, to accept data, you need to TAB out of the data field when you are finished, but that ALWAYS enters you into another data field. Any key press at this time ERASES the data in the next field and BEGINS entering new data in the new field. This is OK if you want to continue entering data into the next field, BUT, since our "focus remains on the drawing area", as you have so succinctly put it, it would be extremely convenient to the USER to have a keystroke that would FINALIZE the data entry in the OI window. It would also eliminate the need to TAB out of the field to have the data accepted OR to click back into the drawing environment to finalize data entry. By hitting the ENTER key, the data would be accepted as entered and modality would return back to the drawing - no extra mousing required. For modal dialogs, the enter key is used to accept data entry. It can be pressed anytime the data entry is complete - regardless of the field the cursor is in. It would seem a logical extension to preserve this attribute in a data entry palette. Currently, you have to use the mouse to exit the data entry mode of the palette. Where is the "FOCUS" in that? The speed of data entry, the accuracy with which it is entered, and the confidence that it was entered correctly are the three most important aspects that should be considered when evaluating the usefulness of an interface, or as you put it, the FOCUS of the interface. I personally try to avoid using the Obj Info palette for data entry because of its clunky modality. Yes, it is a necessary part of the program, and yes, it adequately displays the data of the object(s) selected; but it is not easy to use as a modifier of object data because data entry CANNOT be terminated gracefully. In short, it really slows me down. I use your software on average 50 hours a week, and have done so for more than 10 years. I feel very qualified in ascertaining when an interface component FEELS clunky, or when it FEELS more cumbersome than previously employed interface components. I do not use the data bar to type in data because it does not have a NICE FEEL, and it does not allow me to communicate my thoughts to your software intuitively. And for the same reason, I try not to use your Obj Info palette. Both interface components DISPLAY data nicely, but they both suffer from a lack of definitively terminating data entry, other than manually clicking in the drawing. Were you to sit at the keyboard and edit hundreds or maybe even thousands of objects in a day's work, you might begin to see the shortcoming of this palette's FEEL. Mr. Retondo (or is it Ms.? I could not tell from the posting) has made an excellent suggestion to remedy this anomaly, and I wish to add my voice to his (hers) in trying to improve the "FOCUS" of this interface element. The ENTER key is the logical choice of keys to terminate and accept data entry. The TAB key is already properly employed to move between fields, and the ESC key makes an excellent choice of keys to exit the palette WITHOUT making any changes. Respectfully, Raymond Mullin [This message has been edited by MullinRJ (edited 07-06-2001).]
  22. Could the RESHAPE dialogs of yore be re-released as a PlugIn Tool (Menu Item)? Use of the OI palette requires a lot of extra mouse work than was needed with the old RESHAPE dialog interface. When editing the sizes or positions of objects, the RESHAPE boxes were a lot faster. It would have to be selectable by a command key to be useful, as extra mouse clicks would defeat its utility. I have been using MiniCad / VectorWorks now for 10 years (since version 2). I know what features I like, and I hate to see them "improved" into obsolescence. So many niceties have gone by the wayside in the march of progress. Ray Mullin
  23. I agree wholeheartedly! The OI palette can be very cumbersome at times and it feels very cluttered. I miss the RESHAPE dialog box from MiniCad days. There was just the information I wanted to edit and it was easy to TAB through the fields and know where I was. AND, it closed when I hit the ENTER key, thus avoiding errant data entry, and extra mouse clicks. I will also post this as a WISH LIST item, but could the RESHAPE dialogs be re-released as a PlugIn Tool? Does anybody else miss the RESHAPE dialogs? Ray Mullin
  24. When a selection of objects is sent to the top or the bottom of the stacking order on a layer (Cmd-F or Cmd-B on the MAC), the stacking order of the selection gets reversed. It never worked reliably in my opinion (frequently the top or bottom object would get misplaced), but now it works even worse. OK, I noticed that if you hit Cmd-F twice (Send to Front), the order reverses itself back to the original stacking order (the same is true if you select Send To Back or hit Cmd-B twice), but try using the Send Forward or Send Back menu items and see what happens. The order of the selected objects gets completely jumbled, and NO, hitting it twice or many times does not restore the original order. Does anybody have any issues with this, or is this a feature I need to learn to live with? I am currently using 8.5.2. Is there any improvement in VW9?
  25. Has anyone played with hMoveForward and hMoveBackward in VectorScript (new as of 8.5.2)? I am getting varying results in the amount an object moves dependent on the type of object being moved. Symbols behave nicely, whereas Rectangles and Polys do not. I could elaborate on my observations, if anyone is interested, but I just want to know if anyone has tried using these commands?


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

  • Create New...