Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Hi, I am trying to get a rev block to update in my drawing formats. sheet one of the format has a place for a drawing rev and description to be called out. each consecutive sheet has a place to reference the latest drawing rev. below is an example. first image is the block on sheet one the second is the block on sheet 2
what I want is the rev on sheet 2 to update to the latest rev on sheet 1. so if sheet 1 is at rev 1 so is sheet 2, if sheet 1 ist at rev 3, so is sheet 3 ect.
i figured this could be done with a relation something like
rev_sht2 = rev3
if rev3 = 0 rev_sht2 = rev2
else if rev2 = 0 rev_sht2 = rev1
endif
obviously that won't work like that, but I am not sure how to make it do what I want.
thanks for the help
Solved! Go to Solution.
Ok I think I have it. this seems to be working like it need it to. if anyone has a cleaner or better approach then please let me know, but his is what I have now.
if rev3 == "3" | rev3 == "C"
rev_sht2 = rev3
else
if rev2 == "2" | rev2 == "B"
rev_sht2 = rev2
else
if rev1 == "1" | rev1 == "A"
rev_sht2 = rev1
endif
endif
endif
thx
If you have control over your drawing formats, I would create your rev blocks as Creo tables or insert a single cell Creo table into your rev block cells that you want to drive, sized to fit the border of that cell. You can then assign a parameter to that Creo table cell in the format &PARAMETER_NAME. We use assembly level parameters but you may also be able to use a drawing level parameter but I've never tried that. If the parameter is in an assembly, that assembly needs to be active in the drawing when the format is added to fill in the rev blocks. Hopefully this applies to what you are asking.
Rick.
Hi Rick, thanks for the reply. I guess I did not post enough information in my request for help. since I knew it I guess I forgot to mention it. I already have the drawing format set up with tables with the parameters in them. description, date, page number reviewed by approved by ect. Our formats used to be just plain static formats, but in an effort to save time and reduce errors a lot of the data can be auto filled like page count for example. before if you added another sheet you had to also remember to go update the page count on every sheet. not a big deal, but that plus whatever else you were doing, sometimes leads to things getting missed. In the case of page count there was no reason for us to have to manually add this info now we have the parameters set up and have this in a table. &sheet_number OF &total_sheets. What I am trying to do now, is get the rev block to update on every sheet if it changes on the first sheet. The problem is the rev on the first sheet won't actually change. the drawing will have rev 1 in the same spot until it is ready for a formal release. then it drops the engineering number rev and will go to a rev A. what I need is not only for the say sheet 2 to know if a new rev has been added below the current one, but to also keep monitoring the 1st rev location and change it to rev A as needed. the non code example and parameters... &rev1 &rev2 &rev3 &rev_sht2
rev_sht2 = rev3
if rev3 = 0 rev_sht2 = rev2
else if rev2 = 0 rev_sht2 = rev1
endif
thanks
ok I made some progress, but I am not quite there. i realized I need a little more variation. here is what I have now.
if rev3 == "3"
rev_sht2 = rev3
else
if rev2 == "2"
rev_sht2 = rev2
else
if rev1 == "1"
rev_sht2 = rev1
endif
endif
endif
this does what I wanted since the rev2 and rev3 will be blank if it is at a rev 1. now what I need to do is get all of this to be true unless a parameter &rev == "A" if it does then I need rev_sht2 == rev. here is the other thing i realized. I need rev2 and rev3 to also be able to equal "B" or "C" and the above still hold true. something like
if rev3 == "3" or "C" ect..
Ok I think I have it. this seems to be working like it need it to. if anyone has a cleaner or better approach then please let me know, but his is what I have now.
if rev3 == "3" | rev3 == "C"
rev_sht2 = rev3
else
if rev2 == "2" | rev2 == "B"
rev_sht2 = rev2
else
if rev1 == "1" | rev1 == "A"
rev_sht2 = rev1
endif
endif
endif
thx