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

📄 2004-march.txt

📁 acis说明文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
    outcome result =api_sweep_with_options(lowerFace,path_dir,swOpt,m_pAcisShape);ENTITY *sweep_result = NULL;if(m_pAcisShape){    sweep_result = m_pAcisShape;}else{    check_outcome( api_get_owner(lowerFace,sweep_result));}}I think there must be a bug at the FAE creating algo. The lower part(creating axis, options, path) is nearly the same like it is displayed bythedocumentation.If anybody could show my bugs, I would be very happy :-)thank you for your supportJuergen WehrOn Mon, Mar 01, 2004 at 01:53:03PM +0100, Hannes Kaufmann wrote:> As far as I have seen it is not possible with ACIS to sweep whole bodys> around an axis. You can only sweep profile curves.> The sweeping does not seem to be very sophisticated. I don't even get a> valid result if I sweep a profile that intersects the axis around an> axis.> > Hannes> > > nil.wehr@softwehr-service.de wrote:> > > > Hello,> > > > I want to create complex bodies by using> > vetices->SPApostion->edge->coedge->wire -> ... sweep straight along axis> > -> BODY> > > > I can create the wire by setting the first coedge (which points to the> > following coedge ...).> > > > But how do I use the sweep-algorithm to create BODY-objects?> > > > If anybody could send an example (even simple geometry like box, made by> > sweep) I would be(very) happy.> > > > Also a link to an example would support myself.> > > > Thank you for your support> > > > Jeurgen Wehr> > _______________________________________________> > Acis-alliance mailing list> > Acis-alliance@cs.columbia.edu> > http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance> > -- >     Hannes Kaufmann | Vienna University of Technology>          Researcher | Interactive Media Systems Group> T +43 1 58801-18860 | F +43 1 58801-18898>            kaufmann @ ims.tuwien.ac.at_______________________________________________Acis-alliance mailing listAcis-alliance@cs.columbia.eduhttp://lists.cs.columbia.edu/mailman/listinfo/acis-allianceFrom alames at sandia.gov  Tue Mar  2 10:28:12 2004From: alames at sandia.gov (Ames, Arlo)Date: Tue Mar  2 12:29:07 2004Subject: [Acis-alliance] set an ACIS- TRANSFORM with Matrix Informatio nMessage-ID: <03781128C7B74B4DBC27C55859C9D73811394791@es06snlnt.sandia.gov>I have used the undocumented function restore_transf for this in the past.It lets you set everything in one call, but isn't in the standard set offunctions.The SPAtransf member function compose might suit your needs.A matrix concatenation of scale_transf, coordinate_transf andtranslate_transf does the trick.  The coordinate_transf function takes asits arguments the vectors that make up an affine transformation.  Thescaling and translations are obvious.Note that ACIS takes great pains to store matrices with scaling separatefrom the affine part, separate from the translation part.  In matrices whereyou don't perform arbitrary actions, transformation is much faster if youmaintain your affects separate.Arlo Amesalames@sandia.gov-----Original Message-----From: nfarnsworth@web.de [mailto:nfarnsworth@web.de]Sent: Tuesday, March 02, 2004 7:07 AMTo: acis-alliance@cs.columbia.eduSubject: [Acis-alliance] set an ACIS- TRANSFORM with Matrix InformationHello,I want to set an ACIS-TRANSFORM- Object with values. I have to set eachvalue of the matrix which belongs to the TRANSFORM Object. For example Imine TRANSFORM::setMatrix(SPAmatrix mat) or TRANSFORM::setValues(doublea11,..,double a44). To serve my purpose I can not use the api functions rotate_transf andtranslate_transf and combine this tranforms.Is there a posibility to do this?Thanks for your support.Niklas______________________________________________________________________________Extra-Konto: 2,50 %* Zinsen p. a. ab dem ersten Euro! Nur hier mit 25Euro-Tankgutschein & ExtraPr?mie! https://extrakonto.web.de/?mc=021110_______________________________________________Acis-alliance mailing listAcis-alliance@cs.columbia.eduhttp://lists.cs.columbia.edu/mailman/listinfo/acis-allianceFrom nil.wehr at softwehr-service.de  Wed Mar  3 12:20:03 2004From: nil.wehr at softwehr-service.de (nil.wehr@softwehr-service.de)Date: Wed Mar  3 06:23:15 2004Subject: [Acis-alliance] sweeping problemsMessage-ID: <5694195$10783125484045be64378e41.42755730@config3.schlund.de>Hello,I try to sweep a face along an axis (vertex).The spatial support told me to build the face by"api_cover_planar_edges" and sweep this profile.I tried, and got errors (no BODY was build)could anybody show what I'm doing wrong, please?	/*   lever vertices position (z always -m_dDepth/2) for basic face			1-------------2		   /               \		  6                 3		   \               /			5-------------4	*/	// set vertices	SPAposition v_StartPtLine1(-m_dLength/2, m_dWidth/2, -m_dDepth/2);	SPAposition v_StartPtArc1(m_dLength/2, m_dWidth/2, -m_dDepth/2);	SPAposition v_MiddlePtArc1((m_dLength/2)+(m_dWidth/2), 0.0,-m_dDepth/2);	SPAposition v_StartPtLine2(m_dLength/2, -m_dWidth/2, -m_dDepth/2);	SPAposition v_StartPtArc2(-m_dLength/2, -m_dWidth/2, -m_dDepth/2);	SPAposition v_MiddlePtArc2(-(m_dLength/2)-(m_dWidth/2), 0.0,-m_dDepth/2);	// create edges from vertices    EDGE* line1;    EDGE* line2;    EDGE* bogen1;    EDGE* bogen2;    outcome oc_line1 = api_curve_line(v_StartPtLine1, v_StartPtArc1,line1);    outcome oc_line2 = api_curve_line(v_StartPtLine2, v_StartPtArc2,line2);    outcome oc_bogen1 =  api_curve_arc_3pt(v_StartPtArc1,v_MiddlePtArc1, v_StartPtLine2, FALSE,	bogen1);    outcome oc_bogen2 =  api_curve_arc_3pt(v_StartPtArc2,v_MiddlePtArc2, v_StartPtLine1, FALSE,	bogen2);	ENTITY_LIST myEntList;	myEntList.clear() ;	myEntList.add(line1);	myEntList.add(bogen1);	myEntList.add(line2);	myEntList.add(bogen2);    m_pAcisShape = NULL;	ENTITY_LIST wires;	outcome oc_tmpbody = api_cover_planar_edges(myEntList, m_pAcisShape,wires);    	if(is_BODY(m_pAcisShape))    {        LUMP *pl = ((BODY*)m_pAcisShape)->lump();        if(pl)        {            do            {                SHELL *ps =  ((LUMP*)pl)->shell();                do                {                    FACE* pface = ((SHELL*)ps)->face_list();                    do                    {						if(pface)						{							sweep_options* swOpt = ACIS_NEW sweep_options();							//    swOpt->set_close_to_axis(TRUE);							m_pAcisShape = NULL;							SPAvector path_dir(0.0,1.0,0.0);						    outcome result =api_sweep_with_options(pface,path_dir,swOpt,m_pAcisShape);							ENTITY *sweep_result = NULL;							if(m_pAcisShape)							{								sweep_result = m_pAcisShape;							}							else							{								check_outcome( api_get_owner(pface,sweep_result));							}}                        pface = pface->next_in_list();					}while (pface);                    ps = ps->next();				} while(ps);                pl = pl->next();			}while (pl);		}	}thank you very much for your help,JuergenFrom alames at sandia.gov  Wed Mar  3 10:30:49 2004From: alames at sandia.gov (Ames, Arlo)Date: Wed Mar  3 12:32:15 2004Subject: [Acis-alliance] sweeping problemsMessage-ID: <03781128C7B74B4DBC27C55859C9D73811394796@es06snlnt.sandia.gov>I don't have time to debug this.  If you want to make progress, you need toknow, at each step, whether you have been successful in constructing whatyou think you've constructed.  For example, do an api_save_entity_list afterconstructing the planar face.  Load the result into 3Dtoolkit, test harness,or whatever.  Does it look like the planar face you created.  Then check theresult with api_check (the test harness command is check; I don't used3Dtoolkit, so can't help you there).  If the entity checks, go to the nextthing you construct and repeat.I don't generally program ACIS in the style you are using -- I rely far lesson the api functions than you are, so I can't spot what might be an obviousbug.  You might, for instance, be creating an arc with wrong sense, endingup with a cross-section that crosses itself.  If you don't address theproblem by LOOKING at the intermediate geometries, you can't debug it.  Ifthings look OK, api_check will do a wide variety of checks to make sure thatthey seem OK.  You have to get used to reading the output from it -- if youhave a single face, non-two-sided, you'll get errors complaining ofunmatched coedges.  Since you expect it, that's OK.  If api_check tells youthat you have a self-intersecting loop, look into it.  That would be a bug.If you can tell me what api_check is telling you, and have a question aboutit, I might be able to help you interpret it.  But I don't have the time tofix your code.-----Original Message-----From: nil.wehr@softwehr-service.de [mailto:nil.wehr@softwehr-service.de]Sent: Wednesday, March 03, 2004 4:20 AMTo: acis-alliance@cs.columbia.eduSubject: [Acis-alliance] sweeping problemsHello,I try to sweep a face along an axis (vertex).The spatial support told me to build the face by"api_cover_planar_edges" and sweep this profile.I tried, and got errors (no BODY was build)could anybody show what I'm doing wrong, please?	/*   lever vertices position (z always -m_dDepth/2) for basic face			1-------------2		   /               \		  6                 3		   \               /			5-------------4	*/	// set vertices	SPAposition v_StartPtLine1(-m_dLength/2, m_dWidth/2, -m_dDepth/2);	SPAposition v_StartPtArc1(m_dLength/2, m_dWidth/2, -m_dDepth/2);	SPAposition v_MiddlePtArc1((m_dLength/2)+(m_dWidth/2), 0.0,-m_dDepth/2);	SPAposition v_StartPtLine2(m_dLength/2, -m_dWidth/2, -m_dDepth/2);	SPAposition v_StartPtArc2(-m_dLength/2, -m_dWidth/2, -m_dDepth/2);	SPAposition v_MiddlePtArc2(-(m_dLength/2)-(m_dWidth/2), 0.0,-m_dDepth/2);	// create edges from vertices    EDGE* line1;    EDGE* line2;    EDGE* bogen1;    EDGE* bogen2;    outcome oc_line1 = api_curve_line(v_StartPtLine1, v_StartPtArc1,line1);    outcome oc_line2 = api_curve_line(v_StartPtLine2, v_StartPtArc2,line2);    outcome oc_bogen1 =  api_curve_arc_3pt(v_StartPtArc1,v_MiddlePtArc1, v_StartPtLine2, FALSE,	bogen1);    outcome oc_bogen2 =  api_curve_arc_3pt(v_StartPtArc2,v_MiddlePtArc2, v_StartPtLine1, FALSE,	bogen2);	ENTITY_LIST myEntList;	myEntList.clear() ;	myEntList.add(line1);	myEntList.add(bogen1);	myEntList.add(line2);	myEntList.add(bogen2);    m_pAcisShape = NULL;	ENTITY_LIST wires;	outcome oc_tmpbody = api_cover_planar_edges(myEntList, m_pAcisShape,wires);    	if(is_BODY(m_pAcisShape))    {        LUMP *pl = ((BODY*)m_pAcisShape)->lump();        if(pl)        {            do            {                SHELL *ps =  ((LUMP*)pl)->shell();                do                {                    FACE* pface = ((SHELL*)ps)->face_list();                    do                    {						if(pface)						{							sweep_options* swOpt= ACIS_NEW sweep_options();							//swOpt->set_close_to_axis(TRUE);							m_pAcisShape = NULL;							SPAvectorpath_dir(0.0,1.0,0.0);						    outcome result =

⌨️ 快捷键说明

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