Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Assembly

  1. I think the problem is that PDF's are vector based. It is not a matter of DP- it how much line work / model is in the PDF. It seems that the way a cropped viewport outputs the PDF is to send ALL the information contained in the VP then how to crop it. Copy the VP twice and you get a double up of the large data set. What it should do is figure out what is cropped and viewable and only send that to the PDF. Project PDF'ed yesterday, the Details which are in a file with a work group reference each PDF is over 4mb. My drawing set of 35 sheets is over 50mb. My powermac can not handle the file. NA please sort this out. You have no idea how frustrating it is to have such un sharable / un usable file sharing in this digital age.
  2. We have a bit of a hack on this in our small office. We use dropbox. www.dropbox.com Change the Vecotroworks user folder preferences on all computers to point to the same dropbox folder. If you make a change on one computer then dropbox redistributes the file to all folder. Warning: If one file gets corrupted (say an the workspace preference .xml file) it will propagate all VW installs!. Luckily dropbox is a time machine, you can restore any file through the web interface. Better still is if you use a time machine you can restore the entire settings folder. This has saved me many hours in installing, setting up workstations and managing plugins. (and cost the entire office a couple when the Windor14 preference file corrupted!).
  3. Have you tried: Make a viewport of the model on a design layer. Change the view to an elevation view. Then use the section VP to cut a horizontal section. (or looked at revit?)
  4. have you tried using move3Dobj GetPt3D ( pX, pY, pZ, False); Symbol (SymName, 0, 0); { Get my new symbol } Move3Dobj(lnewobj,pX, pY, pZ);
  5. In a recent post there was discussion about how VS can't do dynamic pop ups. Below is a procedure that can be used to build a list of values to add to a dialog multi select. How I used this. Create an Event enabled PIO with a button. The button activates the dialog. The dialog builds a dynamic selector. The dialog sets a vlaue. I wrote this code last night and am still working on the tool, If you want to try it you can: Include the pastebin code into a PIO with three parameters Keynote Index TextScale It is simple Keynote tool. It looks for other keynote value in the file to aid making note tags consistent. Pastebin with code
  6. Developer page says refer to vstEventsConstants.px for list. Where do I find the file?.
  7. All examples start with vsoGetEventInfo(theEvent, theButton); CASE theEvent OF Is there an appendix with an Index for the event/values that OutObjEvent can return?
  8. Try using CreateCustomObject and SetRField. Look them up in the function ref. Below is a list of the fields you can set for drawing Label. Couple of pointers. You have to pass a string to SetRField so if you are using a Number variable to pass you need to use Num2String when you set the record. Be careful when you pass a value to a pop up in the PIO. If you send a value that is not defined already it can cause problems. ObjectName:='Drawing Label' HObject:= CreateCustomObjectN(ObjectName,0,0,0,False); SetRField(HObject,ObjectName,'Title',Title); SetRField(HObject,ObjectName,'Drawing',Drawing); SetRField(HObject,ObjectName,'Sheet',Sheet); SetRField(HObject,ObjectName,'Num Config',Num Config); SetRField(HObject,ObjectName,'fScale Config',fScale Config); SetRField(HObject,ObjectName,'Custom Scale',Custom Scale); SetRField(HObject,ObjectName,'ArchScale',ArchScale); SetRField(HObject,ObjectName,'fConfig',fConfig); SetRField(HObject,ObjectName,'WideBubble',WideBubble); SetRField(HObject,ObjectName,'TSizeTitle',TSizeTitle); SetRField(HObject,ObjectName,'TSizeScale',TSizeScale); SetRField(HObject,ObjectName,'TSizeItem',TSizeItem); SetRField(HObject,ObjectName,'TSizeSheet',TSizeSheet); SetRField(HObject,ObjectName,'Factor',Factor); SetRField(HObject,ObjectName,'LineMode',LineMode); SetRField(HObject,ObjectName,'Length',Length); SetRField(HObject,ObjectName,'Flip',Flip); SetRField(HObject,ObjectName,'Rule Offset',Rule Offset); SetRField(HObject,ObjectName,'Text Margin',Text Margin); SetRField(HObject,ObjectName,'Scale Margin',Scale Margin); SetRField(HObject,ObjectName,'Refer',Refer); SetRField(HObject,ObjectName,'Scale',Scale); SetRField(HObject,ObjectName,'Config',Config); SetRField(HObject,ObjectName,'Scale Config',Scale Config); SetRField(HObject,ObjectName,'scaleFormat',scaleFormat); SetRField(HObject,ObjectName,'Title Text',Title Text); SetRField(HObject,ObjectName,'Bubble Text',Bubble Text); SetRField(HObject,ObjectName,'Scale Text',Scale Text); SetRField(HObject,ObjectName,'Drawing Text',Drawing Text); SetRField(HObject,ObjectName,'Font1 ID',Font1 ID); ____________ VAR LIST (you will need to deterime what type of VAR these are) Title Drawing Sheet Num Config fScale Config Custom Scale ArchScale fConfig WideBubble TSizeTitle TSizeScale TSizeItem TSizeSheet Factor LineMode Length Flip Rule Offset Text Margin Scale Margin Refer Scale Config Scale Config scaleFormat Title Text Bubble Text Scale Text Drawing Text Font1 ID _____________ Note that with CreateCustomObject the Custom PIO does not get created in the drawing until the script executes. This means that if you try to use something like GetBBox(hObject,x1,y1,x2,y2); it will return X1=0 y1=0 x2=0 Y2=0
  9. How does one enable double click editing for event enabled objects?. VectorLab says: I've had a good go with both example 4 and 9, but am lost... Am I correct in thinking there are four types of edit events?. Is one of them the double click? How do I enable the edit event and get the double click active in the event CASE.
  10. Pat you are correct on many points. 1) Users highly critical of promise made / broken. My personal experience on 2011. I was excited by the potential I saw in the pre-release. I had high hopes of what Planar could deliver in terms of 3D annotations. But the first test I did failed my expecations. First a hidden line render view- the Planar text does not render. Second- Cut a VP section the planar Text is gone. These were not even promises made by NA, but my assumption of why you would add such features to the software. NA failing to meet my interpretation of what the upgrade should include leaves me a bit bitter that I paid for the upgrade. With picky buggers like me they can't win. 2) Assess on what is available today. I like VW, I don't want to change, so I am forever wanting / wishing / hoping / even praying, that NA can introduce some of what I think are key productivity tools. I have a tendency to assume that NA are working on what I want to see, what I want is available on other platforms, so when they don't deliver I think damb I should have swapped platforms already. So you are right, do not assume VW are working toward any of the functions you want. Stop complaining about VW lacks, appreciate it for what it has. Look at what is on offer in the different packages. Go with the platform you think will offer you the most productive working environment. I guess with 2011 have trouble with files from older versions, and maybe having to rebuild all your templates, now is the best time to consider your options.
  11. I might be wrong here but is the reason you would use the planar text object be for instances where you have a 3D object that has some complex form where 2D representation does not clearly communicate your intent?. AND if you have complexity in form would a hidden line render view is required to communicate the form. So given that you can not combine the 3D element rendered view with the Planar text, does this not make Planar text useless? I am trying to think in what circumstance would planar text be useful that does not include a render... You could draw everything in 2D, as you already do, then set up some planar to map you elevations on to to create some pretty drawing, like the ones NA use to promote the tool, BUT this just added extra time to the workflow of your project. What for? Is this drawing clearer for a contractor to read?- I don't think so. Does this function make for a faster drawing set?- I don't think so. Who cant think of a use for planar text in a non rendered view... please share
  12. I have a Menu Function that can align selected object. It makes a column of items. The code below aligns selected custom PIO -'NZ MSpec Legend '. I am using Foreachobject to use the GetInfo Procedure to load an array with the handles of the selected object and two records. This procedure will align the objects in the order they are created in the layer. I would like to be able to use the CBI string (or number) to order the array. I would then like to sort Alphabetically the Keynotes. I don't have a lot of programming experience, but guessing that sorting arrays might be a common thing to do. Is it? If so can anyone give a little guidance. Thanks. PROCEDURE AlignObj; TYPE Level1=Structure hObject:Handle; X1,Y1,x2,y2:Real; CBI:STRING; KeyNote:STRING; END; VAR Obj: Array[1..500] OF LEVEL1; i,icount:INTEGER; p:INTEGER; X1,Y1,x2,y2:Real; FUNCTION GetInfo(h:handle):Boolean; BEGIN; IF ((h <> NIL) & (GetType(h) = 86) & (Eval(h,(R IN ['NZ MSpec Legend ']))>0)) THEN BEGIN Obj.hObject:=h; GetBBox(h,Obj.x1,Obj.y1,Obj.x2,Obj.y2); i:=i+1; Obj.CBI:=GetRField(h, 'NZ MSpec Legend ', 'CBI'); Obj.KeyNote:=GetRField(h, 'NZ MSpec Legend ', 'KeyNote'); END; END; BEGIN; i:=1; ForEachObjectInList(GetInfo,2,0,FSObject(ActLayer)); iCount:=i; For i:= 2 to iCount DO BEGIN; IF Obj.hObject<> NIL THEN BEGIN hMove(Obj.hobject,-Obj.x1,-Obj.y1); GetBBox(Obj[i-1].hobject,x1,y1,x2,y2); hMove(Obj.hobject,x1,y2); END; END; END; RUN (AlignObj);
  13. I have now had a small dabble with my purchased copy of 2011. I went for the upgrade because I though with the intro of the Planar tools VW would be in a good position to be a good 3D working environment. The conceptual idea of being able to literally write on the surface of a 3D is very good. This could allow an Architect to work fully in a 3D model and annotated on the surfaces of the objects they draw. This might allow one place for information to be contained/Maintained. Views can be set up, perks / sections / Elevation. Text is consistent in all views. BUT the two most critical components of this do not work. 1) Section VP's do not bring through the planar graphics. 2) planar Text boxes in Hidden line renders do not display the text. Furthermore the key PIO objects that could improve the workflow have not been updated to take advantage of the improvements. The benchmark elevation when used in a planar object still uses the Y Coordinate to return height... however if working in a 3D environment we now need the Z value that to be used. From the moment I saw the promotional video, I thought this workflow and functionality was the obvious use and implementation of the tool. Why else would you use this function?. I am disappointed the main reasons I upgraded seems moot. This leaves me wondering if VW is being developed by engineers to build 'whizz bang' functionality with out understanding why / how this functionality will be incorporated into a workflow... So I'd be interested to hear from NA 1) What are the main benefits of the Planar objects? 2) How they see this being incorporated into the workflow?
  14. GetView(xAngleR,yAngleR,zAngleR,offsetX, offsetY, offsetZ); SetView(xAngleR,yAngleR,zAngleR,offsetX, offsetY, offsetZ); I've had a couple PIO's where this method has caused critical failure in my PIO's before.
  15. I think this maybe just an issue with the files I'm working on. I created two new clean files and recreated the same situation. Draw object on Layer-1 in WkOut. Create WkVP in WkIn File. I change layer name in WkOut file Update the WkIn File- I get error message: An error occurred while updating from the referenced document "WkOut.VWX" The viewport changes to the empty red box and does not disappear. The file I'am having trouble with is over 70mb, It has 64 Design Layers and 24 Sheet Layers. The viewports are defiantly being deleted. I can open the original on another computer where the WkRef path is broken. I can see all the detail VP I set up. I can check the VP List on that computer. When I update the WkRef, some VP are removed from the list. The files include my own custom PIO's. Thus I can not rule out these being the cause of the problem.
  16. I'm hoping I am wrong on this. I have a detail file that workgroup references a sections file. I updated the layer names of the section file. I open up the Detail file with the WK refs in it. The View Ports have disappeared. I can understand maybe the view port losing the Layer control but to disappear! Luckily a Time Machine back up and reverting my layer names means I have not lost to much time. Is this fixed in 2011?.
  17. Please click on paste bin for extended code with what I'm doing. This code can be included in a PIO. The PIO has a button that runs a dialog built with DB5. A simple large text box. The dialog uses TextThis:DYNARRAY[] of CHAR to allow entry for text. I would like the default text to be the text already in the object. I'm using TextThis to do that on line 236. CreateEditTextBox (dialog1, kContent, TextThis, 100, 15); I need to be able to get the text from the textbox into TextThis. From the Function reference. The VectorScript API functions GetRField() and SetRField() support the use of a CHAR array in place of a STRING value. So I've tried to create a record to insert the text to. New:=GetCustomObjectInfo(ObjectNameit,ObjectHandit,RecordHandit,WallHandit); .... NewField('Text','Hold','',4,0); SetRecord(ObjectHandit,'text'); SetRField(ObjectHandit, 'Text','Hold',TextThis); .... Prior to the DialogCall: .... TextThis:=GetRField(ObjectHandit,'Text','Hold'); .... I can't get more than the 255 CHAR to work in this way. When a record is created outside of VS again I can't add more than 255 Char to it thus not sure how to use SetRField() to hold a string longer than 255 as the function ref indicates that you can?. http://pastebin.com/sC7BGv2Y I'm just learning about event enabled PIO's. Maybe I'm doing something wrong there?.
  18. Please do not replace VS.
  19. I'm trying to store strings larger than 255 Char somewhere in my PIO. Function Reference states: However when I create a Record Format with a text field type. This input is limited to 255 Char. How can does one create a Record Format that can hold more than 255 Char?.
  20. Title of this post is about creating apps for portable devices. I think this request is based on a concept of how we think about the output CAD software in general. The old way of outputting is as a series of 2D drawing. That is changing. If it is model format then I expect there will be a number of IFC model readers developed that use the internal GPS locators of the tablets to know where you are. But what about good old HTML. Consider the potential of an Export to HTML. The output is a website for the project. Web pages are scaleless, you can always fit a drawing on the page. With a web page you can pan and zoom in and out. Detail does not have to be on separate drawings. The visibility settings of detail gets related to the zoom. Specification info could be linked directly to the keynote. Changing the page to see a section is simple by a click on the section maker. We already identify the information links in our drawings with call out tools, key notes etc. The data for this output could be built into the PIO's. HTML is platform neutral. So maybe instead of trying to make an app understand the old data output VA could put the effort into creating an output of data any device can read.
  21. If fact the VectorWorks Notes database is an XML file so that part is already there.
  22. If all you have a fully structured Index for your database then this is my suggestion for a Scope of Work for you to get it Scripted. 1) Use an external Database to create this. You want the database to be able to create an XML file that defines the text fields you want associated with the number. 2) You want a simple PlugIn Object That allows you to type in the Keynote. Ideally you want this PIO to pass the XML file to create dynamic drop down selections. No idea on the performance issues around this. 3) You want a 2ND plug in object. This plugin is your Legend. The legend should be able to resize the text width and page layout. This plugin will search the drawing for your keynote PIO's pick up the values to an Array. Then pass the XML file searching for the tag and importing the corresponding data into a new array. Then loop the Full Data array to layout the legend. This object needs a refresh button. Ideally you want this to be able to do Versioning so if you replace delete or add a keynote after contract is issued it will 'bubble' changes. I have been thinking about this myself recently. We currently have a similar method working but with work sheets. It is a bit buggy so not ready for prime time. We have a KeyNotePIO. This is used through out the drawing. Input Values: SpecIndex KeyNote Description. We use a Worksheet to find all key notes. We use the SUM on the description Column and KeyNote Column to check for inconstancies. We Have a LEGEND PIO that reads the worksheet file to layout and create the legend. Our major limitation is that the worksheet fields only allow a limited number of characters forcing us to use short descriptions. Also this data is located in each project file thus we have to build a new symbol library to create an office KeynoteDatabase. A cloud based Database (zoho creator is free) would be much better. Sorry can't post my script as the Index we use is the NewZealand MasterSpec Index which they have copyright.
  23. Thanks Maarten.That was it. The basics of the procedure work now... This Procedure is very unstable in the script I have though....
  • Create New...