Showing results for 
Search instead for 
Did you mean: 

Property Text from Reference or Draft if no Reference


Hello there, I'm wondering this about title blocks and drafts.


Most of our drafts include modeled parts and assemblies, so they contain references and, thus, the title block info is designed in order to show the information placed on those components.

I think this is the most common workflow, with the title block designed by means of callouts with property text like these:


%{Document Number|R1}

Sometimes however, we make drafts simply drawing on the 2D model and obtaining a view of it (sketches, geometric calculus, etc), so the draft does not contain any "external" references.


In these cases, the previous tags give an ugly "Error No reference" result, so I need to retouch the Title Block getting the information from elsewhere. The most common solution is reading the info from the draft document itself, basically removing '|R1' from the previous tags.


This is a slow and unelegant workflow. A better solution is having two paralel Title-Blocks defined in our template, one for reading info from reference R1 and another for reading from the draft itself. Better but far from perfect, since I hate redundancies, mostly when Title Block changes are involved...


So, there's any way of defining a callout something like "hey dude, read property 'Title' from R1 but, if no R1 exists, read it from the draft document". More or less I could imagine something like %{if(R1,Title|R1,Title}.

Any idea of how to get a result like this?


I think that our scenario (99% drafts contain references but some of them not and that force us to make dirty things with our title blocks) is quite common out there.


Thanks in advance, any info will be really appreciated!


Re: Property Text from Reference or Draft if no Reference

Gears Phenom Gears Phenom
Gears Phenom

Not that I am aware of.  Doesnt sound like a bad idea though so I would suggest submitting an ER.


This would be a pretty simple macro if you have any interest in the SE API.


and/or  I suggest you re-post as a request in the SE Developer forum and I bet you might find someone willign to help you out.


PS:  I'll be watch along too, and snagging soem of that code myself...


good luck



Matt Johnson
Solid Edge Certified Professional (ST7 & ST8)
Solid Edge ST9 (SEEC) - Production
NX11 (Tc Integration) Pre-Production Testing
Teamcenter 10.1.7

Re: Property Text from Reference or Draft if no Reference


Yes, as you explain, it would be quite straightforward programming a macro for that.


In fact, we are quite experienced with the API here, so we could do that easily, but I would try to avoid, if possible, the "remember to execute the macro on the draft if it contains no references" approach. We use the API for really powerful tasks, avoiding 'little' stuff like this, prone to quietly lead to a quite rigid workflow in the future.


For those interested, I have done the following:


-I have defined a base block with all the common title block elements: lines, logo, and any stuff which is the same if you read info from the draft file or from the reference.

-Above it, I have defined two different blocks for reference title block and draft file title block. Those blocks include the previous one along with the different callouts in order to show info. Same format but different source of the property texts, basically.

-In all background sheets I have included both blocks in the same position, but each located in different layers, with the layer which includes the title block reading from the draft file hidden by default (since this is the less common scenario)


With that, if a draft does not contain references and I want to read title block info from the draft file itself, I just have to switch visibility of the layers which include the two title block versions, which is indeed faster than executing any macro.


The only downside is that you need to manage two paralel versions of the title block, so any changes in the design must be replicated in both flavors. In order to minimize this, I have included all the common elements in a base shared block, so only text itself must be edited by duplicate.


Hope all this helps someone!