Jump to content

ccroft

Member
  • Posts

    522
  • Joined

  • Last visited

Everything posted by ccroft

  1. Should we wish-list this? This limitation has cropped up a number of times in the past. We need an "Excluding components of:" in the criteria editor. Actually it's just another checkbox in the "Including...." for viewports. If un-checked it wouldn't look in viewports. This seems like a good default. Most people don't want to report things twice. (unless it means more money in pocket :-)
  2. You may very well have thought of this and have reasons for not doing it, but if you convert your symbol to group then insymbol & C=' ' & loc=' ' will work. With the proper punctuation of course. You can get rid of insymbol altogether if you like. If this is acceptable and you'll be using this in other drawings, you can edit the insertion options of the symbol and choose 'Convert to Group'. I have many symbols that convert to group for this and other reasons. Pat: I was just fooling about with classed objects in symbols in a location and got a different result: nothing qualified anywhere. No areas reported....I wonder why?
  3. Up until about 7 months ago I was running 11.5 in OS 10.4 on a G4 MDD tower. Performance for simple 2d wasn't very different than 2009 in OS10.5 on MacPro. It is true that 11.5 won't run in OS10.5. You get extreme screen artifacts and other bizarre behavior. And it's also true that you can't instal an OS earlier than that which comes with the machine. We were forced to upgrade vWorks when we got the MacPro. Turns out I'm really quite happy about that, by the way. (Confirmation from some-one who's been around this race-track fairly recently.)
  4. Me too! Object re-generation and what happens when is also mysterious. How can an object that doesn't exist yet pick up a preference that it hasn't set? It seems that some scripts run in a time-warp... And yeah, the reset idea doesn't make much sense, but you never know. In any case I'm glad you got it working. I just noticed your signature, and I remember a post recently where someone ran into trouble with event-enabling of some sort in 12 that was resolved in a later version. Might have something to do with it. Seems to me that what you were doing should have worked. If you have trouble in the future I'd be happy to test in 09 if that might help.
  5. Not to mention the many other non-Architectural productivity features that are missing from Fundamentals. They are the primary reasons that I went to Architect: Batch Print and PDF export, rotate plan, two-way worksheets, nav palette, some appliance symbol libraries and others that I can't remember right now. I don't use any 'architectural' tools at all, and Architect is still worth the upgrade. (stifling my usual rant on this subject.)
  6. Hi Peter, I don't know what's going on with this, but a PIO that fails to work as expected on first insertion, and then works fine after that sounds familiar. My knee-jerk reaction would be to try a ResetObject and see what happens. I do have a question that probably has nothing to do with the problem. I'm curious why you're not using Push and PopAttrs. Is there a setting that isn't captured by PushAttrs?
  7. This is the third (or fourth if you count the short-lived Reek Havok) that I have seen. That character was named and created by him solely for the purpose of taking a shot at Jeffrey. It was only around for a few hours on the weekend, and was deleted just as he designed it to be. I think he enjoys the whole banning process. Register as a Texan. Good one! He seems to have some special hatred for Texas, and had some choice things to say to one Texan on the 11th that may have had something to do with all this. But those comments pale in comparison to some of things he's said to Gerard about Holland! I must say, sir, that I found your comments quite heart-warming. It might take a year, but I look forward to his return.
  8. Thanks for posting all this Orso. Seems there's a pretty good chance that the solution to OP's problem may lie there somewhere.
  9. Attempt at humor: "You impudent whipper-snapper! Moderators come and go, but the cranky old men of the forum go on and on ....and on......and.....where's my soup?!" You're probably right about all this Jeffrey. I've had a few donnybrooks with The Fightin' Finn myself. I really wish he could learn to suppress the urge to kill. And sorry about the nanny-state crack. It's gotta be a tough job when faced with this kind of horse-*#%*. It truly does get out of hand from time to time and I really do agree that we're better off without the inter-personal haggling. It's not a pretty sight. Over the years I've seen some very fine forums rendered useless by in-fighting and flame-wars. I certainly don't want to see that happen here. BTW: The general public can observe? Yikes! I'll keep that in mind...
  10. I must have missed the action and I'm not 100% sure who we're talking about. But we've been down this road before and I think I can guess. I would like him back. I've had so many usefull discussions with him in his various incarnations dating back almost a decade. He is a valuable and active user of the vScript forum. Recently there was more useful discourse there than we've seen for a very long time, but it mysteriously dried up after the 12th. I was wondering what happened. I dare say that in that forum at least we could use more like him. I understand that he's a difficult case, but strict enforcement of the Terms of Use runs the risk of creating a nanny-state. We're (mostly) adults here and can fend for ourselves, can't we?
  11. I'm not a cross-platform scripter, but aren't there some differences in how you state a literal file-path? If you're actually specifying a path (rather than letting the PIO find the data file in the plug-ins folder without a literal path) there may be a 'gotcha'. It seems I've heard of something to watch out for in this area. Maybe there's a 'wrong' way to handle data files and $includes. (just seeing if I can jog something loose from the collective consciousness}
  12. I sometimes have this problem. And I agree that if I have gone to the trouble to select something, then the next action I undertake should operate on the selected object. The problem is that this is a dual purpose tool, and the computer doesn't know if I want to drag the selected object, or change the selection. I select an object by clicking on a portion that doesn't underly another object, and then try to drag it by a point that does underlay another object. As a 'selection first' tool, it assumes that I want to change the selection to the overlying object. If it didn't assume this, then how would I change the selection? Deselect everything by clicking in an open space first....perhaps.
  13. I can post some snips and maybe you can put them into action. The main script this was done for is very 'file specific' and rather large, so that posting it as a working script doesn't make much sense. It won't do anything without a lot of other stuff in place in the drawing and a properly formatted text file to read on the hard-drive. This example reads some info from a tab delimited text file that has 3 entries per line. This data is read into a 2 dimensional array that's 3 columns wide. After the array is loaded the info is written from the array to records attached to certain objects in the drawing. This info could just as easily be written into the parameter record of a PIO. If you're doing that you won't want to use GetFile. Look in VSFR under File I/O for Open and Close, and other functions for file handling. CONST ???kMaxLines=200; VAR ???date,node_num,reading,data_file:STRING; ???node_info:ARRAY[1..kMaxLines,1..3] OF STRING; Procedure read_info; ???Begin ??????line_num := 0; ??????REPEAT ?????????line_num := line_num + 1; ?????????ReadLn(date,node_num,reading); ?????????node_info[line_num,1] := date; ?????????node_info[line_num,2] := node_num; ?????????node_info[line_num,3] := reading; ??????UNTIL (EOF(data_file)) or (line_num = kMaxLines); ???End; The part of the main body that calls the above: BEGIN ???GetFile(data_file); {you'll want to do different here for reading into PIO} ???IF NOT DidCancel THEN ??????Begin ?????????read_info; ?????????attach_record; ?????????ForEachObject(write_info,C='nodes'); ?????????ForEachObject(draw_flags,C='nodes'); ??????End; END; Hope this is enuf to get your ball rolling. WARNING: working with arrays and data files can be very finicky & hazardous to your mental health. (option-spaced out)
  14. I've done exactly that numerous times with no apparent damage. The OIP was entirely blank? It didn't say Group or something else at the top? Did you try re-launching vWorks before restoring the file? I'd put it down to voodoo pure and simple. Only time I've ever seen a blank OIP is when nothing is selected.
  15. You can probably do it in much the same way you were setting the child-object's params from the parent object in your earlier post, but using the handle & name from getcustom. getcustomobjectinfo(PIOname,PIOHandle,PIOrecordhandle,PIOwallhandle); SetRField(PIOHandle, PIOname,'pLineLength',newLineLength);
  16. Nice one! Now,maybe you can explain what an eye-brow dormer is... :-)
  17. Hello Ray, Very true, but that's the beauty of the programmer and end-user being the same person! I've always just created an array sufficiently over-size for my own purposes. In fact I'll never use it on more than 100 objects, so I just forgo the dynamic. I guess I'm not a good vScript citizen... It's very good that you pointed this out for the benefit of others. I thought your approach was most interesting. I never would have thought of doing this by manipulating the stacking order, and it took me quite a while to see how this works. Somehow arrays just make a lot of sense to me. (My mind must resemble an old time post-office sort station or something....lots of little boxes in a grid.) And thanks for the formatting tip. I think you mentioned that before, but I couldn't remember the correct key stroke. BTW, you can also go back and edit using option/space to get indents as I did. (hope I didn't accidently erase a semi-colon or something) So to sum it all up, we have three ways to get around the infinite loop of selection. One is stacking order based, one is position based, and one is handle based. Carry on!
  18. This is an interesting thread. I always enjoy seeing how different minds come up with different means to the same end. Myself, I've had selection status get in my way a few times before. What's served me well is to build an array of the selected object's handles, and then make the procedures handle based instead of selection based. So here's yet another take on it: PROCEDURE replace_it; ???VAR ??????objX,objY,symX,symY:REAL; ??????index:INTEGER; ??????handleBin:ARRAY[1..1000] of HANDLE; FUNCTION loadBin(h:HANDLE): BOOLEAN; ???Begin ??????index:=index+1; ??????handleBin[index]:=h; ???End; PROCEDURE change_it(objectHand:HANDLE); ???Begin ??????HCenter(objectHand, objX, objY); ??????Symbol(GetSDName(ActSymDef), objX, objY, 0); ??????HCenter(LNewObj, symX, symY); ??????HMove(LNewObj, objX-symX, objY-symY); ??? ??????DelObject(objectHand); ???End;?????? BEGIN ???IF (ActSymDef <> nil) THEN ??????Begin ?????????index:=0; ?????????ForEachObjectInLayer(loadBin,2,0,2); ?????????index:=1; ??????WHILE handleBin[index]<>NIL ?????????Begin ?????????change_it(handleBin[index]); ?????????index:=index+1; ?????????End; ??????End ???Else AlrtDialog('Make a Symbol Active, DUMB-ASS!'); END; RUN(replace_it); If anyone wants to actually use this script, you might want to edit the alert message depending on the work environment. This is my standard alert, cause the only time I get it is when I'm pushing hard on a deadline and it usually lightens my mood a bit. As per an early request, I added a couple lines to move the symbol center to the old objects center. Works great in my drawing environment, but I'm quessing there might be situations where it fails. Seems too simple to be correct. I'd like to thank everyone who asked or answered in this thread. Contrary to what I thought when I first read it, the end result is actually gonna be very useful to me. (I wish you could cut and paste a script in here without messing up the formatting)
  19. In the test of InsertOther without Reset, when you place it the second time it regenerates the first instance. After that things run smoothly. (or do they?) In the the test WITH Reset, the thing draws properly when first inserted, IE when it's a new object. After that it behaves strangely. IF both of the above statements are true, it seems the next logical step would be to try: if IsNewCustomObject(PIOHandle) then ResetObject(PIOHandle); But it's not clear to me from the first post about test results (no Reset) if instance #2 displays correctly when it's placed. If you get that #2 regens #1, #3 regens #2 and so on then I don't see how this bit will help.
  20. Petri, Amen to the voodoo comment. And my apologies if I took or gave the wrong tone. (I guess I'm still a bit nervous when speaking with the 'Hellion of Helsinki' :-) Assembly: Let us know how it goes. To any others reading along: It's a good idea to use something like: GetCustomObjectInfo(objName,pioHandle,etc,etc); if IsNewCustomObject(pioHandle) then ResetObject(pioHandle); to avoid unnecessary regenerations in instances of the PIO that have already been placed and which, god willing, are already displaying properly. Note that Reset raises a flag that the vectorscript handler for the program at large sees after the script has finished, and then it does the regen. So using reset to try to regenerate geometry, and trying to act on that before the script is exited won't do anything. In Assembly's case the flag may be getting lost in 'the kid's room' so to speak.
  21. I was just relaying some stuff I read in Vscript List that I had made notes on. Somebody there a while back said they had this very regeneration problem with a point PIO as parent, but not with line PIO with parent. Assmembly-man: Maybe the handle you're giving to reset isn't correct. Are you using GetCustomObjectInfo?
  22. I have never tried to nest one PIO within another, but from what I've read it's not all that predictable, and according to some folks not advisable. There are usually ways around it. One thing I seem to remember is that there has been some success with a point PIO nested within a Linear PIO, but that a point PIO within a point PIO does exactly what you describe. resetObj doesn't reset anything until the script is exited. On the first insertion of the PIO, nothing exists which can be reset until the script is finished. At least that's how I understand it... You might be better advised to hard-code the geometry of the child inside the parent, or to use $Include.
  23. Basically, this is exactly the definition of a VectorScriptObject aka .VSO, the third type of plug-in. If there's no interaction in the drawing window to create the object other than clicking to place it, and if all the data that's needed to create the object is either in the script or derived from the Dialog, then this is likely the best route to take. You have the advantage of an automatically updating editing interface through the Object Info Palette, you get the dialog for 'free', and it operates from a tool palette. Also, I find it easier to expand the abilities of a parametric object (another name for this critter) down the road than it is to rework a dialog based object. The input fields in your dialog are the parameters for the VSO. If you read the relevant section of the Vectorscript Language Guide you'll find the steps to transform your palette script into a Plug-In Object like the ones that come with the program. These are the objects which you control thru the Object Info Palette, and are placed by selecting a tool. I don't know what sort of object you are creating. Is this the kind of behavior you're looking for?
  24. Odd behavior. I bring symbols with attached info into new drawings hundreds of times per day and have never seen this. Everything should work as you desire if you attach the record in the resource browser using the drop down menu. I have a library file of hundreds of symbols with the pertinent info attached in this way. I made this library a favorite so the symbols are always available in the resource browser. I just drag them from there into the new drawing. They come into the new drawing, each with their correct record containing the parts list. The info is sucked into a worksheet for a bill of materials. I also copy and past these symbols between documents without problem.... Are you attaching the record after placing it in the drawing?
  25. John, Have you looked at the Vectorscript Language Guide in the help files? This explains grammar,syntax,data types,loops etc, in short how to use the functions.
×
×
  • Create New...