"Union" fail.Inconsistent edge-face relationship?

Discussion in 'AutoCAD' started by linear, Apr 12, 2004.

  1. linear

    linear Guest

    Hello,

    Using command "union" in visual lisp, for 4910 solids cell.But show like this:
    "The Boolean operation on solids failed.Modeling Operation Error: Inconsistent edge-face relationship"

    Anyboday know how to fix it?

    Thanks a lot!

    linear
     
    linear, Apr 12, 2004
    #1
  2. linear

    Devin Guest

    I use union a lot in my algorithms. That error usually happens to me when I
    don't have an overlap or a good meeting of the surfaces. Perhaps the
    surfaces or just a small amount too far away from each other?
     
    Devin, Apr 12, 2004
    #2
  3. linear

    Mark Propst Guest

    no idea what "for 4910 solids cell." means but...

    I've gotten that and similar errors when working with 3d solids in acad even
    when there is absolutely no problem with the actual objects.
    I assume there are slight rounding problems in acads solids kernel or
    where-ever.
    I have in the past had to create various solids from the original one by
    slicing and use variations on union, subtract etc to get a final result when
    a simple subtract should have worked in the first place.
    fwiw, just my experience....


    Inconsistent edge-face relationship"
     
    Mark Propst, Apr 12, 2004
    #3
  4. linear

    Devin Guest

    It would appear in my functions, using the boolean operations as well, that
    they do meet but every so often do fail a union. I found that moving them
    to a greater interference location did solve the problem, although I'm still
    working out some of the more complex situations and still investigating. I
    think that you may be right about the rounding error.
     
    Devin, Apr 12, 2004
    #4
  5. linear

    linear Guest

    Thank you all.

    Yeah, we can move solids a little closer to intercept.Maybe we can adjust the tolerance of dimension to do it.But for 4910 solid cells, it will be a huge job and result in a bigger accuaracy error.

    One thing is weird. When I do 500 solid cells union, it is ok.But for 4910, it shows "Inconsistent edge-face relationship".Is there any method to resolve it?

    I also use slice, then make a rulesurf for adjoining boundray of layers.then explode it to get meshes and extrude to get solid,then union them.

    Thanks your warm hearts again!

    linear
     
    linear, Apr 13, 2004
    #5
  6. linear

    OLD-CADaver Guest

    The only time we've seen the error is when the union results in very very thin (usually curved) voids in the resulting union, such as would occur with a very small shift in axis parallelism. It could be that one corner of a prismoid just barely misses (8 or 10 decimal places) the adjoining prismoid while the adjacent corner overlaps by a very small amount, resulting in an extremely thin "knife edge" void.

    In your case, it may only be one or a few of the solids causing the error. Try unioning small chunks at a time until you can narrow it down to the offending few.
     
    OLD-CADaver, Apr 13, 2004
    #6
  7. linear

    Devin Guest

    "linear",

    "4910 solid cells", does that mean 4910 is the quantity of cells to union
    together? I think that's what you're saying.

    There are a few different things that could be causing the problem, It
    sounds like you don't want to move the cells closer or change the dimensions
    of the cell. In that case you'll need to dig deep into your math that
    creates the cells and their location. There area a few instances in math
    where the numbers come out just a small amount short or long due to using
    pie based calculations used over and over again. Expecially if you're using
    a constant that's missing some decimal places. I've also noticed some very
    small variations in values produced in my 3D math due to sin/cosine and
    other trig functions when used in conjunction with rotation matrices (I'm
    not sure how much affect this actually has on the boolean functions within
    AutoCAD, but it's worth investigating further). Also if you're using (rtos)
    to manipulate numbers it could shave some significance from the values. Be
    carefull with your math as AutoDESK has provided a very small "bullseye" in
    the case of boolean ops to shoot for.

    Everything said and to consider, I would "guess" that most likely, of all
    these, it maybe be either a direct math error or a problem in significant
    digits.

    I had a 3D part database, when I saved it I thought I could save room and
    strip the significant digits down to 6-8 places for my saved files. After
    loading the database later and trying some boolean ops on the parts I found
    that it lost the siginificants enough to function properly. So I found that
    even small problems can stop AutoCAD's boolean ops from functioning
    properly. If you're saving the data to file, you should probably go 16
    digits and use (rtos) to process the numbers out that far. The (prinx)
    functions I don't think will work.

    Anyways those are some things I found in using the solid functions in
    programming.

    HTH,

    Devin
     
    Devin, Apr 13, 2004
    #7
  8. linear

    linear Guest

    Thank you,

    Today I try to union one layer by layer(one layer has 100 solid cells).there is three layers cannot be unioned.Take them out and find each layer is short of one solid cell.The weird thing is : three solid cells are unioned together,even if they donnot belong to the adjoining layer.Maybe it is as what OLD-CADaver said:"a very small shift in axis parallelism".Seems it is a random thing.And it is indeed because of "one or a few of the solids causing the error".You gave me suggestion: "Try unioning small chunks at a time until you can narrow it down to the offending few. "Is there an automated way to deal with it?Can the program check the error places then try to union them?

    Devin,Thank you for explaining the union problem from math aspect.Seems u already have deep exploration on this problem.It is a little complex for me to understand:)Would u please tell me how to do or change what?:)Thanks.

    Thank you all.Good luck!
     
    linear, Apr 14, 2004
    #8
  9. linear

    OLD-CADaver Guest

    Is there an automated way to deal with it?Can the program check the error places then try to union them? <<

    Nothing of which I am aware. Sorry can't help any more than that. You could try asking here:

    http://tinyurl.com/25usg

    or here:

    http://tinyurl.com/27bg5
     
    OLD-CADaver, Apr 14, 2004
    #9
  10. linear

    Devin Guest

    Perhaps you could give a more indepth example of what you're doing or post
    the code that creates the cells. Some form of working example so I can run
    it and debug from here. I'ld be glad to help if I can.
     
    Devin, Apr 14, 2004
    #10
  11. linear

    linear Guest

    Thanks for your help.

    I post the lisp program here.

    Subroutine j . It unions the solids cell in one layer.

    The method introduction can be found in the previous reply.This program is ok for cylinder.but not ok for irregular interception object.

    Thanks a lot!

    Good day!
     
    linear, Apr 16, 2004
    #11
  12. linear

    Devin Guest

    "linear",

    Instead of us going thru each line of your code and trying to decipher
    what's happening, perhaps you could just explain what each function in your
    file does, then we could just decipher less info and help you faster? Maybe
    a step-by-step and also what's happening to the part in the drawing and
    what's being created and the like?
     
    Devin, Apr 19, 2004
    #12
  13. linear

    linear Guest

    Thank you!

    Some comments are added.When the section is not regular and increase of number of layers, the union problem is emerged.The lisp already uses 50 layers.And apply this lisp on the original solid in test.dwg has union problem.

    THANKS!:)

    Any questione is welcome!
     
    linear, Apr 27, 2004
    #13
  14. linear

    linear Guest

    Some comments are added.When the section is not regular and increase of number of layers, the union problem is emerged.The lisp already uses 50 layers.And apply this lisp on the original solid in test.dwg has union problem.

    THANKS!:)

    Any questione is welcome!
     
    linear, Apr 27, 2004
    #14
  15. linear

    linear Guest

    Hello,

    I have posted here.Thanks for your help.

    linear.
     
    linear, Apr 29, 2004
    #15
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.