What's new

Search results

  1. L

    Can't get suppressed sub-sub-assemblies.

    In my case false positive is less bad than false negative. Thanks for all the help you provide! I don't know how anybody could find out all these little details otherwise.
  2. L

    Can't get suppressed sub-sub-assemblies.

    Na, I was just looking for a catch-all for any possible change even if it had some false positives. Checking the files themselves would be the safest way since nothing can change if the files aren't changed.
  3. L

    Can't get suppressed sub-sub-assemblies.

    Oh that's good news. I don't think the API can open packages anyway, at least as I remember it, so nobody would probably be using those with my application. Nonetheless, I've already abandoned the idea of checking for missing files. It's a fairly unlikely event anyway and I think people will...
  4. L

    Can't get suppressed sub-sub-assemblies.

    The specific case that I found was this assembly https://s3-us-west-1.amazonaws.com/alibre-usa/SampleModels/0_Alibre_Wankel_Airplane_Engine.AD_PKG If you extract it then open it with the API, the constituentfilepaths are wrong and look like they're from the computer that previously saved it. So...
  5. L

    Can't get suppressed sub-sub-assemblies.

    > This is related to session data not reflecting data on disk. You'll need to ensure assemblies and parts are properly saved and regen/updated before any code is run on those files. Ah, so I have to save it before using ConstituentFilePaths. I'd rather not because I don't want my application...
  6. L

    Can't get suppressed sub-sub-assemblies.

    I don't know how. If I open an assembly with the API and it has missing subassemblies or parts, the only way I know to detect that is if they're in ConstituentFilePaths but not on disk. However, since the path part of those filenames is unreliable, I might have to do a risky and expensive search...
  7. L

    Can't get suppressed sub-sub-assemblies.

    I don't think that'll work safely because sometimes the paths in ConstituentFilePaths aren't the actual locations of the files. Maybe they're where the files used to be when the assembly was saved or something.
  8. L

    Can't get suppressed sub-sub-assemblies.

    Yea, I realize multiple occurences of the same part only appear once in ConstituentPaths(). But the problem here is that there's a file in ConstituentPaths() (two blocks's AD_ASM file) which doesn't exist in any of the occurrences at any level in the tree. I'm trying to detect if an assembly...
  9. L

    Can't get suppressed sub-sub-assemblies.

    I can't make sense of what's happening here. When an assembly has a 1st-level subassembly that's suppressed, then I can find it in the collection returned by: IADAssemblySession.RootOccurrence.Occurrences() and it has .IsSuppressed = True as expected. But if there's a 2nd-level subassembly...
  10. L

    Do these warnings and exceptions matter?

    Wow, AP242 solves the degenerate_toroidal_surface incompatibility problem! But is it available via the API? I can only find the other two STEP formats.
  11. L

    Do these warnings and exceptions matter?

    Oh. I didn't know there was an AP242. I tried AP203 and it was the same.
  12. L

    Do these warnings and exceptions matter?

    > Are you exporting from Alibre and opening the file with a OpenCascade app or library? Yes.
  13. L

    How to tell if files are missing when opening an assembly?

    Thanks Stephen. I see it does include the files that are missing. I might compare the filenames from ConstituentFilePaths to the ones in the occurrences to identify missing ones.
  14. L

    How to tell if files are missing when opening an assembly?

    If I open an assembly with a missing file in the GUI, it shows this dialog: But if I use OpenFileEx(), it silently ignores the missing files. Is there a way to know that it happened? I see IADDesignSession.HasErrors but it's just a boolean and I don't know what errors it's going to be set by.
  15. L

    Do these warnings and exceptions matter?

    Coming back to this, I'm still having these messages and can't seem to do anything about them. I hope someone else can confirm they're normal and safe to ignore. They're not exceptions in my application so I can't catch them. They're just messages in the Immediate window of Visual Studio. I...
  16. L

    Session Class Diagram Cheat Sheet

    I see. They really are defined like that for some reason. Maybe it has some subtle effect that matters. Also TIL multiple inheritance is allowed for interfaces.
  17. L

    Session Class Diagram Cheat Sheet

    Everything in IADSession is already inherited by IADPartSession via IADDesignSession. So I don't think it make a difference for IADPartSession to also inherit directly from IADSession. Or does it? C# and VB don't even support multiple inheritance, so how is this possible in the .Net API?
  18. L

    Session Class Diagram Cheat Sheet

    IADPartSession and IADAssemblySession inherit directly from both IADDesignSession and IADSession, not just transitively? Does that make any difference from the API user's point of view?
  19. L

    Transformation matrix has scaling that doesn't match the STEP file.

    OK. That makes sense what you meant about verifying the unit now. This experience has changed my view of Alibre units from "almost always cm" to "anything, anywhere". You can have whatever mixture of units you like all up and down the assembly tree and cm might as well not be special if there's...
  20. L

    Transformation matrix has scaling that doesn't match the STEP file.

    Sorry. Since I found out, I might have neglected questions in the other posts. I was ambiguous about perspectives. Let me try again: My application tells Alibre to open an assembly and export its parts to STEP files. My application then reads those STEP files (using a library that converts them...
Top