Several people seem to have had this problem (going by the number of posts on the internet about it), but I didn't really find a satisfying solution. After spending half a day on the problem, I think I have come up with something useable.
First, lets outline the problem: Normally, along the top of a title block we have a column numbers (for referencing purposes). Say there are 20 columns per drawing. In a multisheet drawing, we want the first sheet to go from 1 to 20, the second from 21 to 41 and so on. You can do this easily by editing your block each time and changing the numbers, but this is tedious...
Solution:
First we need to create a table for our column numbers. My title block is 400 units wide, so I have a table 400 wide, with one row and 20 columns of 20 units each. In the second column, enter the formula "=A1 + 1". Drag this across all the columns so each one increments from the previous cell (so now you should have a blank first cell, then 1 to 19 in the others).
Now for the magic: in cell A1, enter "=(1-1)*20+1", however in place of the first "1" (the one in red) insert a field, of type DieselExpression, with value
$(if,$(eq,$(substr,$(getvar,ctab),1,1),"#"),$(substr,$(getvar,ctab),2,2),1)
This expression looks at your layout name (the name on the tab for the layout) and checks if the first character is "#". If it is, then it assumes the next two values are the number of the sheet. If not, it just returns 1.
So all we have to do is make sure our Layout is named with #xx at the start (replace xx with the sheet number), and our title block will auto number itself! (Might need to use regen to update the numbers).

Leave a Reply