how to show/hide TERMDESC attribute for all schematic/project

how to show/hide TERMDESC attribute for all schematic/project

Anonymous
Not applicable
3,802 Views
10 Replies
Message 1 of 11

how to show/hide TERMDESC attribute for all schematic/project

Anonymous
Not applicable

Hi all

 

I am trying to hide/show all TERMDESC attribute on a schematic, but hold its function for report prints.

This is to hide pin description for "private use"   (some kind of option to print "private" and "public" schematics. just only changing (hide/show) some layers.)

 

I am using WIRENO/LOC/CMP/PIN/PINDESC/WIRELAYER/WIRESIZE attributes to print EXCEL sheet for wiring crossreference, and is very usefull to use PINDESC  (TERMDESC) as is.

 

I tried with these easy options ....

- If I go to layer manager I can hide "TERM" layer but it includes TERM+TERMDESC attributes.  (do not want to hide pin number)

- Can hide attribute one by one, but is tedious and not practical.

- another option is to change TERMDESC attribute to another custom layer, but can not locate how to do that.

 

Any other solutions ?  Smiley Happy

 

ocultar capa atributo term_termdesc.jpg

 

0 Likes
Accepted solutions (2)
3,803 Views
10 Replies
Replies (10)
Message 2 of 11

jseefdrumr
Mentor
Mentor
Well, I'm 99% sure you can't assign just that one attribute to a custom layer. ACADE assigns layers for attributes according to their name. You can have everything in your blocks on Layer 0 but when you insert the symbol ACADE forces the attributes to certain layers. This behavior appears to be part of the compiled command code.

Because of this, you're almost forced into dealing with this on an individual basis on some level, somewhere.

About the fastest way I can think of to do this is:
*individually edit all the symbols used in your project by forcing the TERMDESC attribute to be 'invisible'. You would do this in the library folder, where the blocks for the symbols are kept. (Don't use BEDIT for this.)
*then, use the Swap/Update block tool to update the edited blocks across the whole project.

Problems: this affects all symbols equally, so you'll face issues anywhere you actually NEED to see the TERMDESC attribute. (Easy to toggle in the PROPERTIES palette.) Also, it's a lot of work on the front end. But, once it's done, it's always done. New insertions of those symbols will keep TERMDESC set to invisible.

Hope this helps,


Jim Seefeldt
Electrical Engineering Technician


0 Likes
Message 3 of 11

Anonymous
Not applicable

mmmmm , OK  

could be a solution.

 

as you are expert, do you think that separate these attributes could be a helpful option ?

as I am discovering , ACADE is not prepared for mixing electric-electronic devices, for example with PCB board with multiple  connectors, and probably this "multiple connectors" will be the unique use for this attribute option.

Normally you do not hide fuse, switch, or other terminals...

 but sometimes could be interesting to 1 click hide all TERMDESC attribute to print a "private" document for customers, providers or even workplace people in order to show a "clear" schematic , but for engineering team could be interesting to show these pin description to make easy way to wire.

 

 

0 Likes
Message 4 of 11

jseefdrumr
Mentor
Mentor
Accepted solution
There isn't likely to be a 'one-click hide' functionality to gain, here. At some level, you're going to have to go to the specific attributes that you want to hide, and hide them on an individual basis. You can either do it in the block before insertion, as I outlined above, or after they're placed in the drawing. But, because of how ACADE manages its attributes you're stuck with one or the other to achieve what you want here.

You're correct that ACADE isn't set up for PCB design...it's really meant to be used in the design of industrial control schematics. Some people use it for other things, but the farther you take this software from its 'home', the harder it is to make it do what you want.


Jim Seefeldt
Electrical Engineering Technician


0 Likes
Message 5 of 11

Anonymous
Not applicable

Yes, I know that ACADE is not a PCB design software (now there is Autodesk Eagle Smiley Very Happy ) but my questions are related to try the best way to draw mixed wiring schematics, because I am working on power electronics wiring cabinets that includes big diodes, IGBT, switches, fuses,... and control/monitoring PCB boards with multiple connectors ....

we are upgraded from ACAD to ACADE to get faster wiring reports and automated cross-checks, (the old way was manually Smiley Frustrated)  but in my short learning curve I have found a lot "step-forward" and "step-back" functions Smiley Sad , for example the one that now I am trying to do.

 

I know the easiest solution is to edit attribute one by one but on a created schematic with lot of pages it is a hard work ... hide all, print to customer and unhide again  Smiley Sad

The bad luck for us is that our products are customizable and they are different one to the other.

 

Is there any other customizable attribute that could be added on report and has the property to hide/show ??

 

If not, the only way for me is to loose that attribute on reports and write pin_description as single text on a custom layer, then I get the ability to hide/show that kind of "private" layer.

 

ThankU for your time.

 

 

0 Likes
Message 6 of 11

Icemanau
Mentor
Mentor

Two solutions for you to think on...

 

Solution 1

If you COPY, RENAME & EDIT the base block for the terminals, you can the do a PROJECT WIDE swap of the block.

 

In other words, edit the copy of the block to hide the TERMDESC attribute.

Do the swap and select PROJECT WIDE.

Supply the dwgs to the client as required.

Swap the block back to the original.

 

You only have to run the swap operation ONCE each way rather than having to do so for each dwg.

 

Solution 2

Go to your Project Properties and the Drawing Format tab.

Click on the Layers button down near the bottom right.

Make sure the tick box is selected to make sure that ONLY entities on Layer "0" get moved to the listed layers.

Click OK twice to exit.

Select ALL the dwgs in your project and then RIGHT CLICK to bring up the menu.

On the menu, hove over Properties and then select Apply Project Settings when the sub menu pops up.

Edit the required blocks and move the TERMDESC attribute to a new specific layer with everything else on Layer "0".

Do a project wide update of the blocks. This will create the layer using the last used layer settings in each dwg.

Now it should be simple to write a LISP to go through the project and turn that layer ON or OFF, Hide them from printing and so on.

 

Regards Brad

>

Brad Coleman, Electrical Draftsman
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 7 of 11

jseefdrumr
Mentor
Mentor
Those are two great ideas Brad! I'm jealous all of a sudden...


Jim Seefeldt
Electrical Engineering Technician


0 Likes
Message 8 of 11

rhesusminus
Mentor
Mentor

OR....

You can run one of these quick VBA macros to show/hide all TERMDESC attributes in one go:

Option Explicit

Public Sub Show()
    Call ShowHide(False)
End Sub

Public Sub Hide()
    Call ShowHide(True)
End Sub

Private Sub ShowHide(Hide As Boolean)
    
    Dim ent As AcadEntity
    Dim blk As AcadBlockReference
    Dim att As AcadAttributeReference
    Dim atts As Variant
    Dim attcnt As Integer
    
    
    ' Step through all entities
    For Each ent In ActiveDocument.ModelSpace
    
        ' Check if it's a block
        If TypeOf ent Is AcadBlockReference Then
            
            Set blk = ent
            
            ' Check if it has attributes
            If blk.HasAttributes Then
                
                atts = blk.GetAttributes
                        
                For attcnt = LBound(atts) To UBound(atts)
                                    
                    Set att = atts(attcnt)
                    
                    ' Check if it's a TERMDESC attribute
                    If InStr(UCase(att.TagString), "TERMDESC") <> 0 Then
                        
                        ' Show Hide it!
                        att.Invisible = Hide
                        att.Update
                        
                    End If
                    
                Next
            
            End If
            
        End If
    
    Next
    
End Sub

 

This can also be executed on all sheets in a project using project wide utilities...

 

Attached is the zipped version of the code.


Trond Hasse Lie
EPLAN Expert and ex-AutoCAD Electrical user.
Autodesk Expert Elite Alumni
Ctrl Alt El
Please select "Accept Solution" if this post answers your question. 'Likes' won't hurt either. 😉
Message 9 of 11

Anonymous
Not applicable

wow  Smiley Surprised

 

another solution, I will try

0 Likes
Message 10 of 11

Anonymous
Not applicable

Is this method usable to change some symbol attributes to custom layer ?   (changing code obviously) Smiley Happy

for example CAT, CATDESC, DESC2, ....

 

Now I am trying to change CAT attribute from MISC to a custom layer , when creating new symbol.

 

0 Likes
Message 11 of 11

rhesusminus
Mentor
Mentor
Accepted solution

Yes, you can of course modify the code to do whatever you want.

 

att.layer = "TAGS"

 

would move the attribute to layer "TAGS".

 

 

 

If it's just for your custom symbols, put them in the appropriate layer in the symbol.

Then, make sure this checkbox is checked in your projects. Then, AcadE won't move it away from this custom layer.

2019-04-22_21-19-47.png


Trond Hasse Lie
EPLAN Expert and ex-AutoCAD Electrical user.
Autodesk Expert Elite Alumni
Ctrl Alt El
Please select "Accept Solution" if this post answers your question. 'Likes' won't hurt either. 😉