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

📄 2005-november.txt

📁 acis说明文档
💻 TXT
📖 第 1 页 / 共 3 页
字号:
> fundamental terms.  Your coordinate axes, if normalized, are the > components of the matrix m that forms the rotation of the transf.  The > translation is the translation vector argument.  If you have issues with > your rotations, try transposing.> > Arlo Ames> alames@sandia.gov> > -----Original Message-----> From: acis-alliance-bounces@cs.columbia.edu > [_mailto:acis-alliance-bounces@cs.columbia.edu_] On Behalf Of Stefan > Schmidt> Sent: Thursday, November 03, 2005 7:14 AM> To: acis-alliance@cs.columbia.edu> Subject: [Acis-alliance] Transforming between Coord Sys> > Hi,> > I have one coordsys1 defined by:> > origin = (0,0,0) and axis (1,0,0), (0,1,0), (0,0,1)> > And I have coordsys2 defined by:> > origin = (0,0,0) and three different orth. axis.> > How do I transform the geometry most effectively between both system in > ACIS?> > So far I tried (unsuccessfully) two diff. approaches:> > 1) Define and set Work Coord Sys:> api_wcs_create(SPAposition(0,0,0), xpt, ypt, new_wcs); > api_wcs_set_active(new_wcs);> > 2) Define and apply Rotational Transform:> transf_decompose_data transfData;> transfData.rotatex = AngleXAxis;> transfData.rotatey = AngleYAxis;> transfData.rotatez = AngleZAxis;> // etc...> trans.compose(transfData,TRUE);> api_transform_entity(pSatEntity, trans); > api_change_body_trans(pSatEntity,NULL);> > Does this make sense? And if so how do I find the rotation angles > (AngleXAxis,AngleYAxis, AngleZAxis) from the coordsys def above?> > Any help much welcome. Thanks.> > -- > Stefan Schmidt> GiveMePower/Felix Support and Development> +49 30 89690350> > _______________________________________________> Acis-alliance mailing list> Acis-alliance@cs.columbia.edu> _http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance_> > > > > ------------------------------------------------------------------------> > _______________________________________________> Acis-alliance mailing list> Acis-alliance@cs.columbia.edu> http://lists.cs.columbia.edu/mailman/listinfo/acis-allianceFrom schmiddie78 at gmail.com  Thu Nov  3 12:28:35 2005From: schmiddie78 at gmail.com (Stefan Schmidt)Date: Thu Nov  3 12:29:01 2005Subject: [Acis-alliance] Transforming between Coord SysIn-Reply-To: <46EAC19F3066C14BB20DF799A649C5F401EC0280@ES23SNLNT.srn.sandia.gov>References: <46EAC19F3066C14BB20DF799A649C5F401EC0280@ES23SNLNT.srn.sandia.gov>Message-ID: <436A48C3.9090108@gmail.com> From transf.hxx:/**  * @nodoc  */DECL_BASE SPAtransf restore_transf( SPAmatrix const &, SPAvector const &, double,	logical, logical, logical);No luck here...Ames, Arlo wrote:> Can't remember which each is (check the header files), but they're the> flags saying whether the matrix includes scaling, rotation, translation.> ACIS transfs only invoke matrix operations for cases where the matrix> contains interesting information.  If no scaling, for instance, then a> bunch of multiplies are avoided.> Arlo > > -----Original Message-----> From: Stefan Schmidt [mailto:schmiddie78@gmail.com] > Sent: Thursday, November 03, 2005 9:56 AM> To: Ames, Arlo> Cc: acis-alliance@cs.columbia.edu> Subject: Re: [Acis-alliance] Transforming between Coord Sys> > Found it, what are the three flags for???> > Code:> SPAmatrix mat(xpt,ypt,normal);> SPAtransf trans = restore_transf(mat, SPAvector(0,0,0), 1.0,logical,> logical, logical);> > Ames, Arlo wrote:> >>I have always liked the undocumented function restore_transf to >>accomplish this kind of thing.   Spatial might have a good official >>answer, but I haven't found anything that takes the place of >>restore_transf.  Call Spatial tech support to see what alternatives >>they might have to restore_transf.>>>>restore_transf lets you set every individual item of the transform in >>fundamental terms.  Your coordinate axes, if normalized, are the >>components of the matrix m that forms the rotation of the transf.  The> > >>translation is the translation vector argument.  If you have issues >>with your rotations, try transposing.>>>>Arlo Ames>>alames@sandia.gov>>>>-----Original Message----->>From: acis-alliance-bounces@cs.columbia.edu>>[_mailto:acis-alliance-bounces@cs.columbia.edu_] On Behalf Of Stefan >>Schmidt>>Sent: Thursday, November 03, 2005 7:14 AM>>To: acis-alliance@cs.columbia.edu>>Subject: [Acis-alliance] Transforming between Coord Sys>>>>Hi,>>>>I have one coordsys1 defined by:>>>>origin = (0,0,0) and axis (1,0,0), (0,1,0), (0,0,1)>>>>And I have coordsys2 defined by:>>>>origin = (0,0,0) and three different orth. axis.>>>>How do I transform the geometry most effectively between both system >>in ACIS?>>>>So far I tried (unsuccessfully) two diff. approaches:>>>>1) Define and set Work Coord Sys:>>api_wcs_create(SPAposition(0,0,0), xpt, ypt, new_wcs); >>api_wcs_set_active(new_wcs);>>>>2) Define and apply Rotational Transform:>>transf_decompose_data transfData;>>transfData.rotatex = AngleXAxis;>>transfData.rotatey = AngleYAxis;>>transfData.rotatez = AngleZAxis;>>// etc...>>trans.compose(transfData,TRUE);>>api_transform_entity(pSatEntity, trans); >>api_change_body_trans(pSatEntity,NULL);>>>>Does this make sense? And if so how do I find the rotation angles >>(AngleXAxis,AngleYAxis, AngleZAxis) from the coordsys def above?>>>>Any help much welcome. Thanks.>>>>-->>Stefan Schmidt>>GiveMePower/Felix Support and Development>>+49 30 89690350>>>>_______________________________________________>>Acis-alliance mailing list>>Acis-alliance@cs.columbia.edu>>_http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance_>>>>>>>>>>---------------------------------------------------------------------->>-->>>>_______________________________________________>>Acis-alliance mailing list>>Acis-alliance@cs.columbia.edu>>http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance> > > > > From schmiddie78 at gmail.com  Fri Nov  4 05:30:21 2005From: schmiddie78 at gmail.com (Stefan Schmidt)Date: Fri Nov  4 05:30:50 2005Subject: [Acis-alliance] Transforming between Coord SysIn-Reply-To: <46EAC19F3066C14BB20DF799A649C5F401EC02AB@ES23SNLNT.srn.sandia.gov>References: <46EAC19F3066C14BB20DF799A649C5F401EC02AB@ES23SNLNT.srn.sandia.gov>Message-ID: <436B383D.6040204@gmail.com>Sorry to bother you again. I tried false, true, true but that went completely off. At the moment I do:SPAmatrix mat(xpt,ypt,normal);SPAtransf trans = restore_transf(mat, SPAvector(0,0,0), 1.0,false, false,false);outcome	Result = api_transform_entity(pSatEntity, trans);... which almost works correctly. But instead of getting the correct values (x,y,z) after the transformation I get (-x,-y,z). Any idea why or which parameter I need to adjust? Thanks again.Ames, Arlo wrote:> Sorry.  I looked in the code I have available at this time and can't> find a complete definition.  Most of the calls I have are> false,true,true.> > Try various settings and look at the transf structure in a debugger.> That should cover it.> > I have independent verification that this is the only known way of> constructing a transf from scratch, which is really what you want to do> here.> > If this fails, you could always look up euler angle decomposition,> perform it on your coordinate system matrix (by hand, not with ACIS) and> then you would have three rotations about global axes you can use to> construct the matrix.  My way is easier.> > Good luck.> > Arlo Ames> alames@sandia.gov > > -----Original Message-----> From: Stefan Schmidt [mailto:schmiddie78@gmail.com] > Sent: Thursday, November 03, 2005 10:29 AM> To: Ames, Arlo> Cc: acis-alliance@cs.columbia.edu> Subject: Re: [Acis-alliance] Transforming between Coord Sys> >  From transf.hxx:> /**>   * @nodoc>   */> DECL_BASE SPAtransf restore_transf( SPAmatrix const &, SPAvector const> &, double,> 	logical, logical, logical);> > No luck here...> > Ames, Arlo wrote:> >>Can't remember which each is (check the header files), but they're the> > >>flags saying whether the matrix includes scaling, rotation,> > translation.> >>ACIS transfs only invoke matrix operations for cases where the matrix >>contains interesting information.  If no scaling, for instance, then a> > >>bunch of multiplies are avoided.>>Arlo>>>>-----Original Message----->>From: Stefan Schmidt [mailto:schmiddie78@gmail.com]>>Sent: Thursday, November 03, 2005 9:56 AM>>To: Ames, Arlo>>Cc: acis-alliance@cs.columbia.edu>>Subject: Re: [Acis-alliance] Transforming between Coord Sys>>>>Found it, what are the three flags for???>>>>Code:>>SPAmatrix mat(xpt,ypt,normal);>>SPAtransf trans = restore_transf(mat, SPAvector(0,0,0), 1.0,logical, >>logical, logical);>>>>Ames, Arlo wrote:>>>>>>>I have always liked the undocumented function restore_transf to >>>accomplish this kind of thing.   Spatial might have a good official >>>answer, but I haven't found anything that takes the place of >>>restore_transf.  Call Spatial tech support to see what alternatives >>>they might have to restore_transf.>>>>>>restore_transf lets you set every individual item of the transform in >>>fundamental terms.  Your coordinate axes, if normalized, are the >>>components of the matrix m that forms the rotation of the transf.  The>>>>>>>translation is the translation vector argument.  If you have issues >>>with your rotations, try transposing.>>>>>>Arlo Ames>>>alames@sandia.gov>>>>>>-----Original Message----->>>From: acis-alliance-bounces@cs.columbia.edu>>>[_mailto:acis-alliance-bounces@cs.columbia.edu_] On Behalf Of Stefan >>>Schmidt>>>Sent: Thursday, November 03, 2005 7:14 AM>>>To: acis-alliance@cs.columbia.edu>>>Subject: [Acis-alliance] Transforming between Coord Sys>>>>>>Hi,>>>>>>I have one coordsys1 defined by:>>>>>>origin = (0,0,0) and axis (1,0,0), (0,1,0), (0,0,1)>>>>>>And I have coordsys2 defined by:>>>>>>origin = (0,0,0) and three different orth. axis.>>>>>>How do I transform the geometry most effectively between both system >>>in ACIS?>>>>>>So far I tried (unsuccessfully) two diff. approaches:>>>>>>1) Define and set Work Coord Sys:>>>api_wcs_create(SPAposition(0,0,0), xpt, ypt, new_wcs); >>>api_wcs_set_active(new_wcs);>>>>>>2) Define and apply Rotational Transform:>>>transf_decompose_data transfData;>>>transfData.rotatex = AngleXAxis;>>>transfData.rotatey = AngleYAxis;>>>transfData.rotatez = AngleZAxis;>>>// etc...>>>trans.compose(transfData,TRUE);>>>api_transform_entity(pSatEntity, trans); >>>api_change_body_trans(pSatEntity,NULL);>>>>>>Does this make sense? And if so how do I find the rotation angles >>>(AngleXAxis,AngleYAxis, AngleZAxis) from the coordsys def above?>>>>>>Any help much welcome. Thanks.>>>>>>-->>>Stefan Schmidt>>>GiveMePower/Felix Support and Development>>>+49 30 89690350>>>>>>_______________________________________________>>>Acis-alliance mailing list>>>Acis-alliance@cs.columbia.edu>>>_http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance_>>>>>>>>>>>>>>>---------------------------------------------------------------------->>>-->>>>>>_______________________________________________>>>Acis-alliance mailing list>>>Acis-alliance@cs.columbia.edu>>>http://lists.cs.columbia.edu/mailman/listinfo/acis-alliance>>>>>>>>>>> > > > From shiqiao.li at asu.edu  Fri Nov  4 20:31:52 2005From: shiqiao.li at asu.edu (Shiqiao Li)Date: Fri Nov  4 20:32:28 2005Subject: [Acis-alliance] Automatic removal of fillets and chamfersReferences: <46EAC19F3066C14BB20DF799A649C5F401EC0280@ES23SNLNT.srn.sandia.gov>	<436A48C3.9090108@gmail.com>Message-ID: <001801c5e1a8$bf6638f0$452aa995@DALPC13>Hi, there,I wonder if there is any API function available in ACIS that can be used to remove fillets and chamfers on a solid model. BTW, I'm using ACIS 7.0. Your input is appreciated.Li From schmiddie78 at gmail.com  Sat Nov  5 12:16:15 2005From: schmiddie78 at gmail.com (Stefan Schmidt)Date: Sat Nov  5 12:16:36 2005Subject: [Acis-alliance] Transforming between Coord SysIn-Reply-To: <46EAC19F3066C14BB20DF799A649C5F401EC0586@ES23SNLNT.srn.sandia.gov>References: <46EAC19F3066C14BB20DF799A649C5F401EC0586@ES23SNLNT.srn.sandia.gov>Message-ID: <436CE8DF.5060001@gmail.com>Yes, it's working now. The problem was that one of my base vectors defining the rotation matrix was orientated the wrong way. Thanks again for your help.StefanAmes, Arlo wrote:> OOPS!  NOT false,true,true, but true, false, false> > Again, I strongly suggest you look at your transf object in a debugger.> You can make sure that all the transformations are correct.> > If you get incorrect signs but correct magnitudes for your rotations,> you might try transposing the information you feed to the matrix> constructor.  Robotics and CAD have different conventions for how> transforms are written down, and they're transposes of one another.> I've seen enough of transpose errors that it's the first place I look.> Arlo> > -----Original Message-----> From: Stefan Schmidt [mailto:schmiddie78@gmail.com] > Sent: Friday, November 04, 2005 3:30 AM> To: Ames, Arlo> Cc: acis-alliance@cs.columbia.edu> Subject: Re: [Acis-alliance] Transforming between Coord Sys> > Sorry to bother you again. I tried false, true, true but that went> completely off. At the moment I do:> > SPAmatrix mat(xpt,ypt,normal);> SPAtransf trans = restore_transf(mat, SPAvector(0,0,0), 1.0,false,> false,false);> outcome	Result = api_transform_entity(pSatEntity, trans);> > ... which almost works correctly. But instead of getting the correct> values (x,y,z) after the transformation I get (-x,-y,z). Any idea why or> which parameter I need to adjust? Thanks again.> > Ames, Arlo wrote:> >>Sorry.  I looked in the code I have available at this time and can't >>find a complete definition.  Most of the calls I have are >>false,true,true.>>>>Try various settings and look at the transf structure in a debugger.>>That should cover it.>>>>I have independent verification that this is the only known way of >>constructing a transf from scratch, which is really what you want to >>do here.>>>>If this fails, you could always look up euler angle decomposition, >>perform it on your coordinate system matrix (by hand, not with ACIS) >>and then you would have three rotations about global axes you can use >>to construct the matrix.  My way is easier.>>>>Good luck.>>>>Arlo Ames>>alames@sandia.gov

⌨️ 快捷键说明

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