⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2003-january.txt

📁 acis说明文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	mso-pagination:widow-orphan;	font-size:12.0pt;	font-family:"Times New Roman";	mso-fareast-font-family:"Times New Roman";}a:link, span.MsoHyperlink	{color:blue;	text-decoration:underline;	text-underline:single;}a:visited, span.MsoHyperlinkFollowed	{color:purple;	text-decoration:underline;	text-underline:single;}p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig	{margin:0cm;	margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:12.0pt;	font-family:"Times New Roman";	mso-fareast-font-family:"Times New Roman";}span.StyleCourrierlectronique17	{mso-style-type:personal-compose;	mso-style-noshow:yes;	mso-ansi-font-size:10.0pt;	mso-bidi-font-size:10.0pt;	font-family:Arial;	mso-ascii-font-family:Arial;	mso-hansi-font-family:Arial;	mso-bidi-font-family:Arial;	color:windowtext;}span.SpellE	{mso-style-name:"";	mso-spl-e:yes;}span.GramE	{mso-style-name:"";	mso-gram-e:yes;}@page Section1	{size:595.3pt 841.9pt;	margin:70.85pt 70.85pt 70.85pt 70.85pt;	mso-header-margin:35.4pt;	mso-footer-margin:35.4pt;	mso-paper-source:0;}div.Section1	{page:Section1;}--></style><!--[if gte mso 10]><style> /* Style Definitions */=20 table.MsoNormalTable	{mso-style-name:"Tableau Normal";	mso-tstyle-rowband-size:0;	mso-tstyle-colband-size:0;	mso-style-noshow:yes;	mso-style-parent:"";	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;	mso-para-margin:0cm;	mso-para-margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:10.0pt;	font-family:"Times New Roman";}</style><![endif]--></head><body lang=3DFR link=3Dblue vlink=3Dpurple =style=3D'tab-interval:35.4pt'><div class=3DSection1><p class=3DMsoNormal><font size=3D2 face=3DArial><span =style=3D'font-size:10.0pt;font-family:Arial'>Hello, <o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span =style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>I&#8217;m writing anapplication with ACIS 7.0, HOOPS, MFC and I need to do non regular =unions.<o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Sometimes I get an =ACIS error&#8220;inconsistent edge-face relationships&#8221; during this =operation.<o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span=></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>I check every body =implied inthis operation but all are good. <br>Perhaps it is due to some tolerance <span class=3DGramE>limits ?<brstyle=3D'mso-special-character:line-break'><![if !supportLineBreakNewLine]><br =style=3D'mso-special-character:line-break'><![endif]></span><o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Does anyone could tell =me howI can better understand where is my <span =class=3DGramE>problem</span><br>(<span class=3DGramE>which</span> information to display) or a mean to =removethis error.<o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Does tolerant =modelling is a <spanclass=3DGramE>way ?</span><o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span=></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Thank in =advance<o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Didier<o:p></o:p></span=></font></p><p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =style=3D'font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span=></font></p><p class=3DMsoAutoSig><font size=3D1 face=3D"Arial Black"><span =lang=3DEN-GBstyle=3D'font-size:8.0pt;font-family:"Arial =Black";mso-ansi-language:EN-GB;mso-no-proof:yes'>_________________________________________<o:p></o:p></s=pan></font></p><p class=3DMsoAutoSig><font size=3D1 face=3D"Arial Black"><span =lang=3DEN-GBstyle=3D'font-size:8.0pt;font-family:"Arial =Black";mso-ansi-language:EN-GB;mso-no-proof:yes'>Didier Faucher <font color=3D"#999999"><span =style=3D'color:#999999'>-Docteur es Informatique<o:p></o:p></span></font></span></font></p><p class=3DMsoAutoSig><font size=3D1 color=3D"#666699" face=3D"Arial =Black"><spanlang=3DEN-GB style=3D'font-size:8.0pt;font-family:"Arial =Black";color:#666699;mso-ansi-language:EN-GB;mso-no-proof:yes'>Lab</span></font><font =size=3D1color=3D"#666699" face=3D"Arial Black"><span =style=3D'font-size:8.0pt;font-family:"Arial Black";color:#666699;mso-no-proof:yes'>oratoire CERMA, UMR CNRS =1563<br>Ecole d'Architecture de Nantes<o:p></o:p></span></font></p><p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =style=3D'font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div></body></html>------=_NextPart_000_0001_01C2C2D7.58E58830--From wang@cae.uwm.edu  Thu Jan 23 14:30:16 2003From: wang@cae.uwm.edu (Eric Wang)Date: Thu, 23 Jan 2003 23:30:16 +0900Subject: [Acis-alliance] inconsistent edge-face relationshipsReferences: <000001c2c2ce$f7212030$df3831c1@SIMULATEAM>Message-ID: <004a01c2c2eb$f31b4930$883afccb@ewang2>From: Faucher > I'm writing an application with ACIS 7.0, HOOPS, MFC> and I need to do non regular unions.  Sometimes I get an> ACIS error "inconsistent edge-face relationships" during> this operation.    This error usually indicates that your face senses are not    consistent.  For example, imagine that you take a cube,    copy 1 face, remove it, negate it (to flip its sense from    "inward" to "outward"), and then stitch this flipped face    back to the 5-sided hollow shell.  Your result would be a    6-sided shell, of which 5 faces say "this side is the inside",    and the 6th face says, "no, this side is the outside".  Such a    shell does not consistently bound 3D space, so it's not a    valid solid.  When you try to apply an ACIS Boolean    operation with this object, it usually fails with the    "inconsistent edge-face relationships" (IEFR) error.    (Oddly, such a shell can pass the other ACIS topology    checks, so passing those checks doesn't guarantee validity.)    In my experience, I usually get IEFR when I have to    (a) create a moderately complex "generalized cutting plane",    consisting of 2-4 sheet bodies meeting at angles, to define    a U-shaped or similar 2.5D sheet, and then (b) use that to    cut another body.  Some care is required to properly align all    of those sheets' face senses so that they all agree which side    is the "outside".  If I get an IEFR, I immediately suspect that    I have flipped one of the sheets' x and y axes, causing its Z    axis to be opposite the other sheets' Z axes.  Flipping the bad    sheet's x and y always eliminates the IEFR.    In the old ACIS 4.0 OpenGL display context, you could    sometimes visually see a "flipped face" in a body, because    it would be drawn in the "seen from the inside" color, while    all adjacent faces are drawn in the normal "from the outside"    color.  I don't know how HOOPS displays a shell that    contains a flipped face.> [Can] anyone [tell] me how I can better understand where is> my problem (which information to display) ...    A general trick is to (1) catch the IEFR during the Boolean    operation, and (2) dump all face normals of both bodies.    This generally requires some code infrastructure to handle    both tasks cleanly.    1.  Write a simple macro that checks outcome rc for not-ok.          If not ok, have it call a dump function.  Write this dump          function to (a) print useful data, like the file, line number,          error code, error message string, then (b) ASSERT(0),          so that your debugger stops as soon as you hit any error.        Then adopt a habit in every function that calls any ACIS        API functions that (a) you declare a local var, outcome rc(0),        and (b) you call your macro after every ACIS API call.        This is a general strategy to catch every ACIS error, as        soon as it occurs, so that you can immediately examine        the stack frame, all local vars, etc, and jump around by        using the "Set next statement" debugger command.  (It is        usually a poor strategy to just bail out back to the top level        after an error, because you lose any ability to explore the        stack frame in which the error occurred.)        The old ACIS MFC CheckOutcome() function was similar        in output to my macros, but it didn't ASSERT, so it didn't        let you debug the error.    2.  To dump all face normals means you output them in any        readable format.  The simplest output is to write them as        text strings.  So you write (a) a function that takes a BODY,        gets all of its FACEs, and prints each one's normal vector.        Then, at the point of your Boolean operation, if you ever        see (using #1) that it causes an IEFR, you can add some        local error handling to treat IEFR specially, e.g.            rc = api_boolean(B1P, B2P, ...);            if (!rc.ok())                if (rc.error_number() == IEFR)                {  MyDumpFaces(B1P);  MyDumpFaces(B2P); }        Recompile, repeat your test input to recreate the bug,        and when it occurs, it will call your dump function.        Then it's up to you to determine which face is bad, trace        back to where it gets created, and make it consistent.        For fancier output, you could draw tiny arrows that        graphically show all of the face normals.  I used to do that        in ACIS 4.0, but not since then.  In HOOPS, you could        use HOOPS functions to draw HOOPS arrows, since        ACIS doesn't have the concept of an "arrow ENTITY".        (Alternatively, you could model your arrows as simple        ACIS cylinders of tiny radius, without heads, and just        add them to the model and send them all to HOOPS.)    3.  Finally, it is often useful to be able to interactively view        your model in the middle of an ACIS error.  For        example, if I get an IEFR, I often want to rotate, pan,        and zoom to examine the bad BODY.  Obviously, I        can't do any of that while the debugger has halted the        program.  Yet I can't just continue, because the current        stack frame is erroneous, by assumption, and I don't        want to lose my place by returning out of it.  (Also,        HOOPS will not refresh the window while the program        is suspended in the debugger.)        My solution was to define a simple function that invokes        an interactive graphical operation, like zoom.  With        some work, I got it to run until it gets a middle mouse        click.  (This would be much easier to do in HOOPS now.)        Then by making a 1-line function call, I temporarily restore        control to the MFC "top level", and the program resumes        running normally, allowing all interactive commands like        pan and orbit, with window updates, until I end my pause        command by clicking.  Then control returns into the function        I'm debugging.  And by using "Set next statement", I can        jump back to this function call and run it several times, if        necessary.  So my error handling code might look like:        #include "MyTools.h"    // MousePause()        rc = api_something_or_other(BP);        if (rc.error_number() == SOME_ERROR_I_WANT)            MousePause();        else            apiQuickKick    // a quick kick is like a punt--Eric WangCAD Lab, Sungkyunkwan UniversityFrom minich@sciences.univ-metz.fr  Wed Jan 22 17:16:57 2003From: minich@sciences.univ-metz.fr (Christian Minich)Date: Wed, 22 Jan 2003 18:16:57 +0100Subject: [Acis-alliance] ACIS / C++ Builder / #defineMessage-ID: <5.0.2.1.2.20030122180649.02774200@bridoux.sciences.univ-metz.fr>Hello everybody,I am using C++ Builder V6. For my first ACIS-R10-based program, I just tried to start and stop the modeller.I get the following compiler error (not a linker error) :FILE mmgr.hxx (line 439): E2238 Multiple declaration for 'ACIS_OBJECT::operator delete(void *,void *)'I included#include "kernel/acis.hxx"#include "kernel/kernapi/api/api.hxx"#include "kernel/kernapi/api/kernapi.hxx"and I defined the following symbols :ACIS_DLL;MMGR_ENABLED;NT;STRICTin the "Project / Options / Directories-Conditions / definition" edit window.Can you help me overcoming this error. May be there are other symbols I should define ?Generally speaking, all advice about using ACIS with Builder V6 is welcome.Thanks for any helpChristianChristian MinichD閜artement informatiqueUFR MIMUniversit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -