Announcements
IMPORTANT. Forum in Read Only mode. You can no longer submit new questions or replies. Please read this message for details
Autodesk Architectural Desktop 2007 & Prior
Welcome to Autodesk’s Autodesk Architectural Desktop 2007 & Prior Forums. Share your knowledge, ask questions, and explore popular Autodesk Architectural Desktop 2007 & Prior topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Accesing style PSD in object PSD formula?

17 REPLIES 17
Reply
Message 1 of 18
timber-design
614 Views, 17 Replies

Accesing style PSD in object PSD formula?

Hi,

Anyone know if it is possible to access a style based PSD in an object based PSD formula? I have typed in the location in the usual format [STYLEPSD:TEST] as I cannot select it from the list below but with no luck????

Cheers,

Cameron.
17 REPLIES 17
Message 2 of 18
Anonymous
in reply to: timber-design

Sorry, but to the best of my knowledge, you cannot access style-based properties from an object-based formula property. Typing directly into the format edit control will not properly identify it as a property definition. All you will do is create some text that looks suspiciously like a property definition id, but in reality isn't. You must pick from the Property Definitions tree below. Then you will see that the id is bolded in the Formula editbox. I've included a copy of Scott Arvins' Property Data Enhancements whitepaper, where this is mentioned. By the way, it's also buried in the on-line help; the typing bit that is, not the style-based properties. Be that as may, it's a great idea and something that should be looked at in the future. -- dianne phillips (software engineer, building solutions division) autodesk® 100 Commercial Street, Manchester, NH 03101
Message 3 of 18

Thanks for the reply, look forward to being able to do it one day...... in the meantime I have figured out how to achieve the same result using classifications 😉

Cheers,

Cameron.
Message 4 of 18
JRADT
in reply to: timber-design

In a round-about way.

You can creat a "Location Property Definition" in an Object PSD that references the Style PSD property definition you want. You can then reference the Location Property Definition in the Formula Property Definition within the Object PSD.

*smirks* Hope thats understandable,
JR
Message 5 of 18

Ah-ha..... thats the one of the nice things about ADT.... there is usually a back door 🙂

Will give it a go.

Cheers,

Cameron.
Message 6 of 18
Anonymous
in reply to: timber-design

You can also reference style-based PSDs in object-based PSDs provided that the style-based PSDs apply to all style types, not just a limited subset. [Or at least that works in ADT2004 - I have not had time to see if that still works in ADT2005].

--

David Koch
Autodesk Discussion Group Facilitator
Message 7 of 18
Anonymous
in reply to: timber-design

What exactly are you trying to accomplish? I have some pretty complicated scheduling pds's that I can hopefully use to help you if I understood what you wanted. Tony "timberdesign" wrote in message news:31184686.1092257985405.JavaMail.jive@jiveforum1.autodesk.com... > Hi, > > Anyone know if it is possible to access a style based PSD in an object based PSD formula? I have typed in the location in the usual format [STYLEPSD:TEST] as I cannot select it from the list below but with no luck???? > > Cheers, > > Cameron.
Message 8 of 18

Hi Tony,

Thanks for the offer of help. I design post & beam timber buildings and use mass elements to model the timbers. Each type of timber (joist, rafter etc) has its own style. At the moment I am using a manual object PSD to assign a code to each timber (this done via a cell edit in a schedule). This code follows a set format, say 6.1.05. The first 2 no.s identify the timber 6=roof timber and 1=rafter, these are of course best set in a style PSD as they are the same for all rafters in the building. The last no., 05, identifies all timbers of a certain size. For example, the rafters might all be 100 x 75 mm and be in 8 different lengths so 05 identifies all rafters of the same size and length. Maybe there are 100 rafters in all and 6 rafters of type 6.1.05. This last no. is of course best placed in an object PSD (to be entered manually). I am looking to read the style PSD into the object PSD so that I can merge these code no.s to give the full code.

Hope that makes sense?

Cheers,

Cameron.
Message 9 of 18
Anonymous
in reply to: timber-design

Cameron, Sorry it has taken me so long to get back with you . Deadlines, , I'm sure you know. Here are a couple of ideas. You will need two different pds's "TimberStyles" and "TimberObjects" (we'll use these for this example). In your "Style" psd, you'll need to set up the two manual pds's which you have probably already done. Lets call them "TimberIden" and "TimberLoc". (that's what I gathered from the description below). Then go the the "applies to" and pick "select all". This is important so you can actually see the "TimberStyles" properties in the "TimberObjects" psd when picking them in you formula. Sneaky sneaky, , huh. I don't know if you want to tag them or not, but if you do, you have to set up a tag that applies to your mass elements and deal with attributes , , I haven't created any custom tags yet, you will need to get someone else to help you one that one. Getting to combine the "TimberIden" and "TimberLoc" with a dot in between is easy. It is adding the quantity at the end of the formula automatically that is over my head. I guess you could just add it as a manual property, but that doesn't make ADT do all the work. Once you get the formula right you then have to go to the "TimberStyles" psd and set "applies to" back to "mass elements". Don't worry, you formula will still work. Hopefully one of the more educated VB script writers will help you with the rest. I have attached the file with a few mass elements on a style with the "TimberStyles" psd attached to it, and the "TimberObjects" psd attached to the actual mass elements objects. I also created a little schedule that shows what I've done so far. It is just one column and I know it looks funny. I will repost this message so it will be at the top of the list again. I hop this helps. Tony H. "timberdesign" wrote in message news:4693838.1092676590631.JavaMail.jive@jiveforum1.autodesk.com... > Hi Tony, > > Thanks for the offer of help. I design post & beam timber buildings and use mass elements to model the timbers. Each type of timber (joist, rafter etc) has its own style. At the moment I am using a manual object PSD to assign a code to each timber (this done via a cell edit in a schedule). This code follows a set format, say 6.1.05. The first 2 no.s identify the timber 6=roof timber and 1=rafter, these are of course best set in a style PSD as they are the same for all rafters in the building. The last no., 05, identifies all timbers of a certain size. For example, the rafters might all be 100 x 75 mm and be in 8 different lengths so 05 identifies all rafters of the same size and length. Maybe there are 100 rafters in all and 6 rafters of type 6.1.05. This last no. is of course best placed in an object PSD (to be entered manually). I am looking to read the style PSD into the object PSD so that I can merge these code no.s to give the full code. > > Hope that makes sense? > > Cheers, > > Cameron.
Message 10 of 18

Hi Tony, what can I say, you are a star...... how did you figure that one out???? You have done the impossible and it works, great stuff. For now I am happy to enter the last digit by hand, once the schedule is sorted by the code no. and then by size I can quickly go through with cell edit and put in the right final no. I guess there is probably a way to get the no. to generate automatically but that is beyond my skills. Having the 2 first code no.s associated with the style has saved me a whole lot of work.... can I buy you a beer?, don't suppose you live in the south west of england?

Virtual cheers,

Cameron
Message 11 of 18

Hi Cameron,

Unfortunately, I live in Florida in the U.S. I'll go have a beer anyway and celebrate with you. David Koch was the one the guys that was helping me in the past. I was hoping that when I reposted the message, he would have taken over. Maybe you can make another post now that you have 75% of what you need and they will lend a helping hand. I have another person that I can go to that knows VBA. I'll see if he can help. Good luck on your end!

Tony H.
Message 12 of 18
Anonymous
in reply to: timber-design

You were doing such a great job on your own, no need for me to "take over".

As to the third code, you might be able to automate that as well, if you use the same numeric codes for the same member sizes on all projects by using a formula property to return the appropriate value based on the member size values. If not, unless the number of different codes is relatively small, it may not be worth the effort to customize it for each project and adding the value manually may be the way to go.

--

David Koch
Autodesk Discussion Group Facilitator
Message 13 of 18
Anonymous
in reply to: timber-design

I know you can do a schedule that quantifies, but how would you concatenate that with the other schedule data from the psd's? Is it possible? Is that what you had in mind? Tony "David_W._Koch" wrote in message news:9700331.1095868755256.JavaMail.jive@jiveforum2.autodesk.com... > You were doing such a great job on your own, no need for me to "take over". > > As to the third code, you might be able to automate that as well, if you use the same numeric codes for the same member sizes on all projects by using a formula property to return the appropriate value based on the member size values. If not, unless the number of different codes is relatively small, it may not be worth the effort to customize it for each project and adding the value manually may be the way to go. > > -- > > David Koch > Autodesk Discussion Group Facilitator
Message 14 of 18
Anonymous
in reply to: timber-design

Here is what I was thinking. I did not look at any of the posted files and I am not testing anything below to confirm that it works; take this as an outline of an approach.

Mass elements have automatic properties for height, length and width; depending upon how the mass element was created and placed, these would correspond to the cross sectional dimensions and the length of the timber. Given those values in a Property Set Definition [PSD] and a standardized set of coded number assignments, you could set up a formula property to return the code value. Another formula property could then concatenate the location, type and size properties into one property that could be displayed in a tag or schedule. Note that the periods at the beginnigs of lines below are only to force the line to indent and would not be used in an actual formula.

Select Case "[Width]"
...Case "75"
......Select Case "[Height]"
.........Case "100"
............Select Case "[Length]"
...............Case "2000" RESULT = "01"
...............Case "3000" RESULT = "02"
...............Case "4000" RESULT = "03"
...............Case "5000" RESULT = "04"
...............Case Else RESULT = "ERROR01"
............End Select
.........Case "200"
............Select Case "[Length]"
...............Case "2000" RESULT = "05"
...............Case "3000" RESULT = "06"
...............Case "4000" RESULT = "07"
...............Case "5000" RESULT = "08"
...............Case Else RESULT = "ERROR02"
............End Select
.........Case "300"
............Select Case "[Length]"
...............Case "2000" RESULT = "09"
...............Case "3000" RESULT = "10"
...............Case "4000" RESULT = "11"
...............Case "5000" RESULT = "12"
...............Case Else RESULT = "ERROR03"
............End Select
.........Case Else RESULT = "ERROR04"
......End Select
...Case "150"
......Select Case "[Height]"
.........Case "100"
............Select Case "[Length]"
...............Case "2000" RESULT = "13"
...............Case "3000" RESULT = "14"
...............Case "4000" RESULT = "15"
...............Case "5000" RESULT = "16"
...............Case Else RESULT = "ERROR05"
............End Select
.........Case "200"
............Select Case "[Length]"
...............Case "2000" RESULT = "17"
...............Case "3000" RESULT = "18"
...............Case "4000" RESULT = "19"
...............Case "5000" RESULT = "20"
...............Case Else RESULT = "ERROR06"
............End Select
.........Case "300"
............Select Case "[Length]"
...............Case "2000" RESULT = "21"
...............Case "3000" RESULT = "22"
...............Case "4000" RESULT = "23"
...............Case "5000" RESULT = "24"
...............Case Else RESULT = "ERROR07"
............End Select
.........Case Else RESULT = "ERROR08"
......End Select
...Case Else RESULT = "ERROR09"
End Select

I would imagine that the cross sectional dimensions would tend to be standard numbers across most projects, but the lengths could vary greatly and could be the downfall of this suggestion. But if it could work, this could be in the style-based PSD, avoiding the issue of referencing data across PSD types.

--

David Koch
Autodesk Discussion Group Facilitator
Message 15 of 18
Anonymous
in reply to: timber-design

Ahh, , "Master" David!! You blew my mind with this one. This is why you needed to "take over". Would you have to 2000, 3000, & 4000 #'s to be the lengths of the members? Tony "David_W._Koch" wrote in message news:1767428.1095891794188.JavaMail.jive@jiveforum2.autodesk.com... > Here is what I was thinking. I did not look at any of the posted files and I am not testing anything below to confirm that it works; take this as an outline of an approach. > > Mass elements have automatic properties for height, length and width; depending upon how the mass element was created and placed, these would correspond to the cross sectional dimensions and the length of the timber. Given those values in a Property Set Definition [PSD] and a standardized set of coded number assignments, you could set up a formula property to return the code value. Another formula property could then concatenate the location, type and size properties into one property that could be displayed in a tag or schedule. Note that the periods at the beginnigs of lines below are only to force the line to indent and would not be used in an actual formula. > > Select Case "[Width]" > ..Case "75" > .....Select Case "[Height]" > ........Case "100" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "01" > ..............Case "3000" RESULT = "02" > ..............Case "4000" RESULT = "03" > ..............Case "5000" RESULT = "04" > ..............Case Else RESULT = "ERROR01" > ...........End Select > ........Case "200" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "05" > ..............Case "3000" RESULT = "06" > ..............Case "4000" RESULT = "07" > ..............Case "5000" RESULT = "08" > ..............Case Else RESULT = "ERROR02" > ...........End Select > ........Case "300" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "09" > ..............Case "3000" RESULT = "10" > ..............Case "4000" RESULT = "11" > ..............Case "5000" RESULT = "12" > ..............Case Else RESULT = "ERROR03" > ...........End Select > ........Case Else RESULT = "ERROR04" > .....End Select > ..Case "150" > .....Select Case "[Height]" > ........Case "100" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "13" > ..............Case "3000" RESULT = "14" > ..............Case "4000" RESULT = "15" > ..............Case "5000" RESULT = "16" > ..............Case Else RESULT = "ERROR05" > ...........End Select > ........Case "200" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "17" > ..............Case "3000" RESULT = "18" > ..............Case "4000" RESULT = "19" > ..............Case "5000" RESULT = "20" > ..............Case Else RESULT = "ERROR06" > ...........End Select > ........Case "300" > ...........Select Case "[Length]" > ..............Case "2000" RESULT = "21" > ..............Case "3000" RESULT = "22" > ..............Case "4000" RESULT = "23" > ..............Case "5000" RESULT = "24" > ..............Case Else RESULT = "ERROR07" > ...........End Select > ........Case Else RESULT = "ERROR08" > .....End Select > ..Case Else RESULT = "ERROR09" > End Select > > I would imagine that the cross sectional dimensions would tend to be standard numbers across most projects, but the lengths could vary greatly and could be the downfall of this suggestion. But if it could work, this could be in the style-based PSD, avoiding the issue of referencing data across PSD types. > > -- > > David Koch > Autodesk Discussion Group Facilitator
Message 16 of 18
Anonymous
in reply to: timber-design

That is the problem with trying to set up a formula that returns a code for a given member size, including length. You have to know all of the possible combinations you will have up front. I made up the 2000, 3000, 4000 and 5000 lengths for the example. Those may not exist on a real project. For sloped roof rafters on a complex roof, the lengths may be different for different projects, in which case you would have to customize the formula for each project. Whether that would be worth the trouble would depend on how many different lengths there are, and how hard it would be to anticipate what those lengths would be.

You could modify the approach in the sample and use a mathematical check on the length. For example, if the length is less than 1000, assign a certain code. If the length is more than 1000 but less than 2000, assign another code, etc. But if the code needs to convey an exact length, that may not be acceptable.

Another approach would be to assign a member size code that only denotes the cross sectional dimensions and then append an additional number showing the actual length.

--

David Koch
Autodesk Discussion Group Facilitator
Message 17 of 18
Anonymous
in reply to: timber-design

David, I think the last option is the way to go, usnig the length in inches as the last code number. Thenks for all you help. I hope Cameron get all this too. Tony "David_W._Koch" wrote in message news:32439816.1095946967137.JavaMail.jive@jiveforum1.autodesk.com... > That is the problem with trying to set up a formula that returns a code for a given member size, including length. You have to know all of the possible combinations you will have up front. I made up the 2000, 3000, 4000 and 5000 lengths for the example. Those may not exist on a real project. For sloped roof rafters on a complex roof, the lengths may be different for different projects, in which case you would have to customize the formula for each project. Whether that would be worth the trouble would depend on how many different lengths there are, and how hard it would be to anticipate what those lengths would be. > > You could modify the approach in the sample and use a mathematical check on the length. For example, if the length is less than 1000, assign a certain code. If the length is more than 1000 but less than 2000, assign another code, etc. But if the code needs to convey an exact length, that may not be acceptable. > > Another approach would be to assign a member size code that only denotes the cross sectional dimensions and then append an additional number showing the actual length. > > -- > > David Koch > Autodesk Discussion Group Facilitator
Message 18 of 18

Hi Tony & David,

Sorry, missed that.... got to start using a news reader so that I can track posts.... just going in through the web portal at the mo..... moves pretty fast!!!!

You guys are right..... on the whole each project is using different timber sizes so using the length in inches could be a good option for imperial users. Metric users will probably need to go manual or divide the length by a factor to get sensible figure for the last ref no.

I like what you have suggested and I'm sure there is application for it beyond this question. Many thanks.

Cheers,

Cameron.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report