Jump to content

Pat Stanford

Moderator
  • Posts

    8,171
  • Joined

  • Last visited

Community Answers

  1. Pat Stanford's post in Worsheet Won't Summarize was marked as the answer   
    You now have to set things in two columns.
     
    First, use the pulldown menu and choose Summarize on. From what I can see of you screen shot this would have to be Column A as it is the only one that has the same data.
     
    Then go to the column that you want the data Summed in and check the  Sum Values check box.
     
    With this new setting you can better control how the data is displayed. If you don't Sum Values and they are all the same, you will get the value. If you don't Sum Values and they are different you will get a (dash) in the column indicating the data is different for different items. If you do check Sum Values, you will get the proper sum.
  2. Pat Stanford's post in Suming Lengths in a Worksheet Database was marked as the answer   
    IN column B, choose the Sum Values Option when you use the Summarize option in column A.
     
    You could actually do this with a single database. Edit the Report (or database) criteria to include Class is rows for Class A, Class, B and Class C.
     
    Put a formula of =C in the column A header. This will give you the name of the class of every object in the drawing. Put the formula of =LENGTH in the column B header.
    Go to the pull down menu for column A and click the Summarize button. This will give you one row for every class.
    Go to the pull menu for column B and click the Sum Values button. Column B will now add the values for all the hidden subrows.
     
    Write back if you need more help.
  3. Pat Stanford's post in Unable to select from other layer or class was marked as the answer   
    Layer scales must be the same to work between layers. 
     
    Maybe Something in the Unified View Options?
  4. Pat Stanford's post in Fillet This? was marked as the answer   
    Another way to do this would be to actually simulate how a router works.
     
    Let's just talk about the interior openings. In a plan view, draw a rectangle to simulate the path of the pilot bearing. So this rectangle will be inset from the edges by the radius of the pilot bearing. Now filet the corners to the radius of the pilot bearing. So you should now have a rectangle (polyline) with rounded corners that matches the path the the center of the pilot bearing will follow when you make the actual piece.
     
    Now draw the profile of the router bit. Select the profile and the path rectangle and do Extrude Along Path. Edit the Profile and move it from the 0,0 point to match the radius of the pilot bearing. You may also need to adjust the Y value up or down depending on where in space you want to put the path object. For me, putting the path at 0 and then aligning it to the "top" of the part to be routed makes the most sense, but if you prefer to put the path lower so it is where the pilot bearing will actually run that is fine, but you will have to adjust the location of the "bit"
     
    Select the Extrude Along Path object and the frame and Subtract Solids. You should now get a piece with the proper 3D "fillets" to match what the router would actually do.
     
    If you follow JimW's original advice and add all of the solids before the Subtract, you only have to do a single subtraction. When you split along the edges each piece will have the proper profile. 
     
    If you prefer to not Add Solids on the frame, make sure the Retain Subtracting Object check box  is selected so you can reuse the Extrude Along Path to repeat the Subtract Solids on the other parts.
     
     
  5. Pat Stanford's post in Door and Window Schedules was marked as the answer   
    It appears to be an anomaly, but one that kind of makes sense.
     
    If you set the hardware type for the door once (by checking the Use Hardware box), the hardware type is then stored in the field named HWDesc.  After that unchecking the box does not clear that field. This makes sense to me as if you later want to go back and turn the hardware back on you are likely to want the same hardware type.
     
    Here is a workaround for your schedule.  Change the formula for the hardware to  
     
    =IF(('Door'.'IncludeHardware'=TRUE), 'Door'.'HWDesc', '')
     
    Be careful with the quotes and note that the quotes before the last close parenthesis are two single quotes not a double quote.
     
    What this does is checks to see if the Include Hardware button is checked. If it is then it shows that value fore HWDesc. If not, it returns an empty string (the two single quotes).
     
    You could also just include a column with a formula of ='Door'.'IncludeHardware'  This will get you the True/False values for the  button check state that you can change in the worksheet instead of having to dig all the way into the setting dialog box.
     
    You might also like the script that I wrote that will give you all of the available fields in a PIO object.  Take a look at the following thread.
     
     
  6. Pat Stanford's post in Creating a bill of materials was marked as the answer   
    Pretty much the same answer in a slightly different terminology.
     
    Everything in a Database section of a worksheet has to be either a formula or a reference to a Record.Field combination.  ONLY Record.Field combinations can be edited in the database.
     
    So to be able to add the extra data you will have to have fields attached to the object. If you already have a record format attached you can just add the fields to the record format and the =Record.Field formulas into the database header. You can then fill in those fields either in the Data pane of the OIP for each symbol or enter it directly into the database cells and it will be stored in the correct Field.  If you don't have a record already attached, or if you don't want the extra data to show in that record, you can create a new record format with those field and use that Record.Field in the database header. You can have data from multiple records show in the same database row as long as each record is attached to the object that is shown in that sub-row.
     
    What there is not an easy way of doing is have the default values for the newly created fields flow into the symbol instances that are already on the drawing. But since you want the data in the database, unless you have thousands of symbol instances, it is probably easier to just use a copy/paste into the database section.  If you copy the data from one cell and then select multiple cells and paste, that value will be pasted into all of the selected cells. This works really well for things like setting or changing defaults.
     
    If you do the new record thing, each symbol instance will get the default values when you attach the record to the instance.
     
    If you want to attach the new record to the symbol definition, it will probably be easiest to go through and do a Replace Symbol to change the symbol instance to the "new" version of the symbol.
     
  7. Pat Stanford's post in Crop viewport option not available was marked as the answer   
    Vectorworks Preferences, Session Tab. Click the button labeled Reset Saved Settings.
     
    Unfortunately, the only option is to reset ALL of the saved settings, so you will probably be asked a bunch of questions again. But you can still click the Don't Ask Again check box and they will go away.
     
    I find that when I end up doing this there is usually something that I had "turned off" that now makes senses and I want changed anyway.
  8. Pat Stanford's post in 3D Clip Cube was marked as the answer   
    You kind of can now.  Create a Viewport showing the building/model as you wish.  Go to the layer with the viewport and use the Clip Cube to set the view as you want. Now the trick is to Save View and make sure that Save View Orientation is turned on. This will save the Clip Cube setting. When you use the Saved View to go back to the model, it will automatically turn the clip cube on and with the settings you had when you saved the view.
     
    It is one extra step, but not too bad. Especially if you already use Saved Views for other drawing setting.
     
  9. Pat Stanford's post in Worksheets and Dimensions. was marked as the answer   
    OK.
     
    This script should change the TextStyle of every dimension in a Selected Sheet Layer Viewport to whatever Text Style you put in in the CONST portion of the script.
     
    If you like this and have enough viewports to make it worth while, this basic script could be put in a wrapper that would step through all of the viewports in the document or all of the selected viewports. Let me know if this makes sense.
     
    Copy everything in the following code block and paste it into a new blank script created from the Resource Manager.
     
    Procedure ChangeDimTextInViewportAnnotations; {November 29, 2016} {© 2008-2016, Pat Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {This script will edit the text properties of a dimension object} {in the Annotations Group of a Sheet Layer Viewport.} {Edit the Const definitions and uncomment the respective part of} {the Change function as necessary to effect the needed changes} {No Warranty Expressed or Implied} {Use on a backup copy of your file at your own risk} {Do not use while operating a motor vehicle or heavy machinery} {Use may cause heart palpitations, acne, and dandruff} {If aggrevation persists, consult a doctor.} {This script is intended to also act as a template for other scripts} {to modify objects in the Annotations group of Sheet Layer Viewports} {As such, extra code has been included and commented for ease of} {future changes.} Const {Font='Verdana';} Text_Style='Notes 12 pt'; {Set this line to the EXACT} {name of the text style to change to} {FontSize=14;} var Hd: Handle; Function Change(Hd:Handle):boolean; Begin if GetType(Hd)= 63 then begin {SetTextFont(Hd, 0,len(gettext(Hd)),GetFontID(Font));} (*Change Font *) SetTextStyleRef(Hd, Name2Index(Text_Style)); end else Begin {message('GetType ',gettype(Hd)); sysbeep; wait(1);} end; end; Begin ForEachObjectInList(Change,1,1,FinGroup(GetVPGroup(FSActLayer,2))); RedrawAll; end; Run(ChangeDimTextInViewportAnnotations);  
  10. Pat Stanford's post in Add to User Library was marked as the answer   
    Isn't this what Right Clicking and choosing EXPORT does? How should it be different?
  11. Pat Stanford's post in Materials was marked as the answer   
    I'm not doing a great job of coming up with a better explanation in my head, so I am just going to write this as a starting point:
    Objects need AT LEAST three types of information to allow a user to specify
    Layers are WHERE objects are: (position in space, different scale needed, etc)
    Classes are WHAT an object is: (Wall, furniture, fixture, truss, lighting device, etc)
    Materials are the PROPERTIES of an object (Material, density, fire resistance, cost, etc). These properties need to be unit smart, so if you have some prices in $ and some in € you can set up a worksheet and have them automagically converted to the unit you want them in with a user specified or static (for units of measure) conversion rate.
    We need to be able to set visibilities of object by any combination of the three. For bonus points visibility by the individual FIELDS of Materials would be great.
    And the ability to use any of the above as a kind of temporary GROUP/SELECTION to be able to easily modify multiple objects at once. And the ability to select a subset and change the information for that subgroup without changing all of the other objects in the drawing.
    The ability to set the display attributes of an object by whichever type of information (Like By Class, but also for By Layer and By Material).
    Materials need to be extensible. If I decide that I need an extra field I should be able to add it at any time. And easily transfer that field to other materials if needed. But not have it show on Materials where it makes no sense. I might want to know the coverage (Square feet / gallon) of paint, but I certainly don't want to see that field in lighting fixtures and roof shingles.
    Material Properties need to be easily accessing in worksheets. They should not require special functions (like the current Wall, Roof, Curtain Wall and Component functions).
    Materials COULD take the place most of the custom data field in objects like Door and Window. The trick there would be to keep the information that should not be changed but that is not an intrinsic part of the object geometry from being accidentally changed. It would be bad to have a material for a steel door that included a price for that door and have someone accidentally apply that material to a door that was twice as expensive or half as expensive.
    Maybe a starting point for discussion.
×
×
  • Create New...