Jump to content
  • 1

NNA#21_


michaelk

Question

I have a file that flaked out after I referenced another .vwx file that was only an import from a .dwg.

 

While rebuilding the file and making the reference over again a bunch of classes got added.  They all start with NNA#21_ followed by the name of a class from the reference source file.

 

The alphabetical order of the classes ignores the NNA#21_

 

Questions:

 

What is going on?

Can I delete these classes?

Link to comment

7 answers to this question

Recommended Posts

  • 1

I wrote a tool that might help you out with this.  It launches a dialog that catalogs all items using the selected class and will even go inside symbol definitions and groups and select all objects using the class.  It will also populate with symbols when the class is set in the Symbol Options or if a Wall component is set to the class.

 

The only kind of tricky thing is that for hybrid symbols, it will tag the symbol as either 2D or 3D based on which it finds first, but may be contained in both.  Which it shows in the dialog will determine which edit component it opens, so you might have to check both.  Unfortunately, the code to get into the edit component is one of those undocumented commands shared by Josh Benghiat, so I can't get it to launch the little Component Edit widget when editing the 2D component, so you can't easily switch to the 3D component without exiting the component edit first.

 

One other caveat is that it won't show things within profile and path groups such as extrudes and extrude along paths where the class of the profile and path don't match the final parent object.

 

image.png.12aa6332d63fbb3a51eb3e657e9bc4aa.png

Locate Class Objects.vsm

  • Like 2
Link to comment
  • 0

I don't know if you can delete those classes.  It looks like you need to select and show the class(s) in question.  The script below can be refined, but it will show all the objects that are of the input class.  You can answer "Yes" to the second dialog and it will select and show all the classes that "contain" the input value.  The question is, have you already written this script.

 

PROCEDURE SelectShowQueriedClass;

VAR
    TheClass    :STRING;
    UseContains    :BOOLEAN;
    OtherClass    :STRING;
    NumClasses    :LONGINT;
    Index        :LONGINT;
    
BEGIN
    DSelectAll;
    NumClasses := ClassNum;
    TheClass := StrDialog('Input Class(s) to show', '');
    IF (NOT DidCancel) THEN
        BEGIN
            UseContains := YNDialog('Select and Show all classes that contain the input value')
        END;
    IF UseContains THEN
        BEGIN
            FOR Index := 1 TO NumClasses DO
                BEGIN
                    OtherClass := ClassList(Index);
                    IF (POS(TheClass, OtherClass) > 0) THEN
                        BEGIN
                            ShowClass(OtherClass);
                            SelectObj(((C=OtherClass)));
                        END
                    ELSE
                        HideClass(OtherClass);
                END;
        END
    ELSE
        BEGIN
            FOR Index := 1 TO NumClasses DO
                BEGIN
                    OtherClass := ClassList(Index);
                    IF (TheClass = OtherClass) THEN
                        BEGIN
                            ShowClass(OtherClass);
                            SelectObj(((C=OtherClass)));
                        END
                    ELSE
                        HideClass(OtherClass);
                END;
        END;
END;
RUN(SelectShowQueriedClass);

Link to comment
  • 0

That being said, I've had a couple of issues when opening up older drawings in VW2022 and VW2023 with weird classes popping up, sometimes named with an assortment of random ASCII characters.  I usually delete them and send objects using the classes to None or to a class called "Unknown Error" so that at least it pulls most of the garbage out of my class list.

 

I've never seen it do exactly what you're describing, however.  That makes it almost seem like it was trying to do a direct Layer Import rather than a reference.  Did you end up deleting the original reference, and is there a chance that you left the Delete options set to import and keep by accident?  I think there was some kind of corruption with the reference that caused a normally background process to appear in your class list.  If I were in your shoes, I would probably run a save and then try to delete the classes and see what happens.

Link to comment
  • 0

@Jesse Cogswell  I'm already a fan of your tool 🙂 

 

In this case the classes are very unusual and I think supposed to be hidden.

 

It started with a dwg.

Imported dwg into a blank VW file.

Referenced that file into a "real" file.

 

After I did that import the next time that file opened took over 10 minutes with the opening process stopped at "updating references"

 

So I rebuilt the "real" file (by importing the design layers with contents into a blank document) referencing the dwg import file again, then rebelling all the sheet layers and their viewports.

 

Now the new "real" file opens like a dream, but has all these new classes.

 

 

In the "real" file the NNA#21_ classes are things like

 

NNA#21_0

NNA#21_0 AE

NNA#21_0 AE equipment

NNA#21_X

NNA#21_XRef-XBD

 

Remove the NNA#21_ and those are exactly the classes in the referenced file with the dwg import.

 

I suspect that NNA#21_ is a secret prefix that means "Don't show these classes to the user!".

 

But they are showing.  And they are messing up my classes :-).

 

I'm hoping someone who knows can tell me if I can delete them.  And tell me what made them come out of hiding.

 

 

Link to comment
  • 0

Got it got it.  The tool I posted above is a slightly newer version that does a better job of separating objects within symbol definitions between the 2D and 3D component.  I noticed that when a symbol had objects using the class in only the 3D component, the edit component would only open the 2D component without the Component Edit widget to switch, so now the tool will determine which component to open.  Not a major revision, but a good one nonetheless.

 

Someday I'll get around to putting all my scripts up on Gumroad so that I can better handle revisions, but I don't see me having that kind of time until next year.

Link to comment
  • 0
4 minutes ago, Jesse Cogswell said:

If I were in your shoes, I would probably run a save and then try to delete the classes and see what happens.

 

 

I did exactly that.  I tried to delete a bunch of mystery classes and checked to see if they vanished off the viewport class list.

 

They did not.

 

Maybe they are used when syncing to the reference file?  More experimentation needed.  But after the drawings go out the door.

Link to comment
  • 0
2 minutes ago, Jesse Cogswell said:

Someday I'll get around to putting all my scripts up on Gumroad so that I can better handle revisions, but I don't see me having that kind of time until next year.

 

One of the reasons I started posting my scripts and plug-ins is so I could know I where to find the most recent version :-).  I've had people ask questions about one of my scripts and found they were using a more recent version that I was!

 

If I understood GitHub at all I'd probably use that.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...