Jump to content

Pat Stanford

Moderator
  • Posts

    8,400
  • Joined

  • Last visited

Everything posted by Pat Stanford

  1. I don't believe that 2D is going away. You can still draw 2D object and they will look exactly the same in Top/Plan. But rather than being screen plane, they will normally be on the Layer Plane.
  2. Check which mode of the selection tool you have active. You probably need to have the second mode (Single Object Interactive Scaling). The first mode will definitely not work (Interactive Scaling Disabled). The third mode (Multiple Object interactive scaling) might work.
  3. Or Microsoft is not using the Adobe engine to generate the PDF while VW is. Which results in different "rules" about subsetting and binding fonts.
  4. The tickle in the back of my head says this is an Adobe issue. I believe they will not embed any font in a PDF they are not 100% certain is properly licensed. Since Myriad is not on the standard list of fonts, Adobe is probably rasterizing it rather than including it in the PDF. I know you have the font on your machine, but what would happen when you send it to someone who does not have that font if it was not rasterized or embedded?
  5. My understanding is that Unified View (or the equivalent) are now on by default. If you don't want it on is when you have to go to the legacy settings.
  6. If this is in Top/Plan could it be the stacking order? Use Send Front/Forward/Backward/Back to get things in the proper order.
  7. Do you possibly have the default Opacity set to something other than completely Opaque?
  8. What version of VW are you running? It helps with troubleshooting if you include your VW Version, OS Version and Hardware in your signature.
  9. Many years (maybe decades) ago, I think there was some kind of getview/setview voodoo that we used to force complete redraws. But I can't find it in my brain or my archives. Hopefully one of my external brains ( @MullinRJ, @Sam Jones, @michaelk) is able to pull this up.
  10. Try Custom Renderworks instead of Fast Renderworks and make sure the Curved Geometry setting is not set to Low. Or try the Realistic Exterior Fast or Realistic Interior Fast Renderworks Styles. Both Fast and Final Quality Renderworks should probably be removed from the workspace and Render Styles for Fast/Medium/Quality set up instead. Fast/FQ are there because that is what people got used to using many versions ago, but the settings on them are often not the best to get the quality and speed that are available in VW/RW. I believe Fast RW effectively has a Curved Geometry setting of Low and is giving the facets.
  11. Let's start with some basics. Command is a Vectorworks function that tell you when the COMMAND key (Mac, I think CTRL on Windows) is being held down. It returns a boolean (true/false) value, True if the key is down, False if it is not down. So. "If Command Then .... Else ...." translates to something like If the CTRL key is being held down then do what comes after the then otherwise do what comes after the Else. In my script it means only ask for a different number if the CTRL is held down. TrackObject is a way to collect clicks on the drawing. It highlights ("pre-selection highlighting" the object you are having over and then when you click it returns a Handle that specifies the object you clicked on. In my script I wanted to be able to click on selected object and have them get a sequential number as their name. If you really don't care where the numbering start on the drawing, then what you want to do becomes relatively simple. The following script will store the string S1 (defined as the letter D plus the number specified by N1) to every object that has a record with the name specified in the CONSTant REC into the field specified by the CONSTant Fld. Procedure Execute is just a micro program that stores the value and increases value of counter N1. The Concat is necessary (even if you don't want the prefix) because only strings can be stored into records, numbers can't be, but the string equivalent can. [And yes, there are other ways to convert a number into a string.] ForEachObject is the key to doing this easily. For Each object uses the criteria (in this case that the object has a specific record attached) and passes a handle for every object that meets that criteria to the Execute procedure, one object at a time. So Execute runs exactly once for each object that has the record attached. Procedure NumberThem; CONST Rec='Your Record Name Here'; Fld='Your Field Name Here'; VAR H1: Handle; N1: Integer; S1: String; Procedure Execute(Hd1:Handle); BEGIN S1:=Concat('D',N1); SetRField(Hd1, Rec, Fld, S1); N1:=N1+1; End; BEGIN N1:=1; ForEachObject(Execute, ((R IN [Rec]))); End; Run(NumberThem); So that get's you the basics. To get more complicated and to generate all the other parts of your ID label, you just add more code to generate the proper string and then just concatenate them all together into a single string before the SetRField. Caution: Pseudocode ahead: If GetName(GetParametricRecord(Hd1))='Door' then S2:='D'; If GetName(GetParametricRecord(Hd1))='Window' then S2:='W'; If GetLName(Hd1)='Cellar' the S3:='0'; If GetLName(Hd1)='1st Flr.' then S3:='1'; S1:=Concat(S2, S3, N1); HTH. Come back with your next questions.
  12. So, GetProjection returns the first parameter of Projection for a specified Layer. Our good friend @_c_ has a great writeup on Projection on the developer site.
  13. How about just vSave, vRestore, vDelete?
  14. Yes, quite likely it could be OpenGL/Shaded Render Settings set to Low. Thanks @zoomer!!!
  15. Dang it Raymond, you are supposed to make me look bad here and tell us all the simple way to make this happen. I hate it when I am right.😠 😉
  16. Probably better to make the bottom of the foot a Sweep instead of a solid section if you want the snap point at the bottom. Extrudes (and lofts) between objects with different numbers of vertices are always a dicey proposition. Glad you figured it out.
  17. It depends on how you do it and what you mean. If you have a multiple standard "black" symbol PTZ inside a "red" symbol Assembly, and you place an instance of Assembly on the drawing you will get a Group in the drawing containing the PTZ symbols. If you change the PTZ symbol, then those instances will change also. If you have a single "black" PTZ symbol inside a "red" symbol and you place the red symbol you will just get PTZ on the drawing. The function is smart enough to not make a group of a single object. As @Dendecko says, items that are symbols inside of "red" symbols will automatically update. Items that are PIOs or standard linework inside of "red" symbols won't update after being placed. I think of a "red" symbol as a temporary container. When you place the symbol, it puts all the stuff from inside the "red" symbol into a group on the drawing and then deletes the symbol instance. So a later change to the "red" symbol will not effect previously placed "instances" because they are not instances. Hope this makes sense and helps.
  18. Check the 2D and 3D conversation resolution settings in VW Preferences. They probably need to be set to High or Very High. If that is a Sheet Layer check and make sure the Resolution is set to something higher than the default 72 dpi.
  19. SetRField( Hd1, Record, Field, Value) Hd1 is a Handle. This is a unique reference to a specify object in a VW drawing. for that launch of VW. It may be different the next time VW is run. Handles are the standard way of referencing and object in VW if you can't use the selection state. It is kind of like an old library card catalog. You find what you want in the catalog and it then tells you what shelf to go look at to get the actual book. My script above requires you to click on objects. The script exits when you click in a blank area of the drawing. There are lots of other ways to check for when to end. I copied and pasted the script above into a blank document. I drew some rectangles and ran the script. When I clicked on the rectangles it named them with a sequential number. When I held down the Command key (Mac, probably Alt of Ctrl on Win), the dialog box to enter the name opened.
  20. @Samuel Derenboim I am not sure I understand what you want, which makes it hard to comment on the script. It sounds like you just want every object in the drawing to have an "ID Number" that can be displayed in a Data Tag. So are you going to manually attach the record to the objects you want and delete it from the objects you don't want? Your initial worksheet above shows not only a sequential number, but also some kind of code (ED, ND, NW). Do you need that? Or is that just stored separately and concattinated in the data tag? Do you really want/care about the order of the numbering? You specify that you want 1 to be the object closest to the origin, but what do you want after that? To "serial" out from the origin? Do you prefer 2D or 3D? Your sample worksheet shows the ID numbers with leading zeros, and different numbers of leading zeros. How do you want the decision on the number of IDs (and therefore the left zero padding) to be done? It looks to me like you are going to have to create an array of all the objects, sort it based on distance from the origin and then step through the array assiging the ID numbers. Be glad to work though this with you, but lots of big picture stuff that has to be decided before we can get to implementation details.
  21. It looks like the two shapes have different "Directions". If you use Polygons instead of rounded rectangles, you will be able to see the direction and then you should be able to get what you want.
  22. You should be able to specify the Criteria of a Data Tag count to only get the tags off a specific or set of specific layers. The usefulness will depends on how your layers are named and which ones you want. Layer Name Contains (or Does Not Contain) [Or Starts with] may give you a smaller number of criteria rows if all your design layers or sheet layers have some similarity in the naming. Ask again if this is not enough. There is no good way to script going from a database subrow to a record that can be picked up by a data tag. You can do it manually, but tying to do it automatically is "challenging". Let's see who likes a challenge to prove me wrong 😉
  23. As far as I know, there is not a way to accept the dialog box from inside the script. But hopefully @MullinRJ or one of the other gurus will prove me wrong and I can learn something new!!
  24. Select one of the Number Tag styles as suggested by @BillV above and place an instance in your drawing. Select the object and in the Style pulldown in the OIP select Convert to Unstyled. That way you will not be changing the original Style. Click the Settings button in the OIP and from the Display tab, click the Edit Tag Layout button. Add a place holder text block where you want your prefix to be. It should say Text in Tag Layout in the OIP. Go to the bottom of the OIP and click the Use Dynamic Text box. Then click the Define Tag Field button. Click the Radio button at the top to be User-Entered Field instead of Calculated Field. Set the Field Type and Default Value. Click OK. Exit the Tag Layout Editor. Click OK on the Data Tag Settings button. In the Style pull down on the OIP, choose New Plug-in Style from Unstyled Plug-in. You will now have a Data Tag Style that will let you change the prefix by clicking the Edit Tag Data... button at the bottom of the OIP. You could also just duplicate the Style in the Resource Manager and then Edit Style to do all the above also. Ask again if this is not clear enough. HTH
  25. I look at this as a good thing. It shows that VW cares about its Distributors and Customers. For those of you who are long time Mac people, you might have heard the term of something being "Sherlocked". There was a really cool general search application named Sherlock. And then Apple added the Spotlight (Mac function not VW module) function to do search that did about 80% of what Sherlock did. And Sherlock's business went away. VW could have "been inspired by" Win/Door for a long time. But they didn't do that. They chose to not compete on those. But now they own Win/Door, so there is no longer any competition. They can take and use what they want and everyone can be happy. Or at least happier. 😉
×
×
  • Create New...