几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » DirectDWG
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-05-04, 08:06 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】drawing a layout and getting the same coordinates as autocad

drawing a layout and getting the same coordinates as autocad
drawing a layout and getting the same coordinates as autocad
i want to call playouthelper->update() or whatever to initiate drawing of a layout. after a long nesting of calls, it ends at my implementation of:
mydevice:olylineout(odint32 npoints, const odgepoint3d* ppoints)
when my polylineout is called, i want the coordinates in ppoints to be exactly the same as those i get when i use the autocad id command within the layout. and of course, i want all lines and polygons to be pre-clipped against the appropriate viewports inside the layout when i receive the polylineout/polygonout calls.
and most importantly, i do not want to of code anything of that myself. (no setting up clipping pipelines, etc, etc. no complex overriding in myview::update). i just want to call...
playouthelper->updatesothatlinesareclippedandcoordinatesbecometh esameasmeasuredwiththe_id_commandinautocad()
...and then receive calls with appropriate coordinates in my polylineout/polygonout implementation.
is there such a function today?
can i whish it for christmas?
is there a complete sample implementation of myview::update() that does exactly what i want? (i have tried some examples and i get pretty close. but i get an offset compared to the id command and i get a slight precision loss in the transformation matrixes.)
-rune jorgensen
www.dds.no

dear rune,
please substitute these lines:
code:

// comment function below to get primitives in eye coordinates.
odgematrix3d eye2screen(eyetoscreenmatrix());
odgematrix3d screen2eye(eye2screen.inverse());
seteyetooutputtransform(eye2screen);
(function exsimpleview::update(), file exgssampledevice.cpp, sample odvectorizeex)
by these lines:
code:

odgematrix3d eye2screen(eyetoscreenmatrix());
odgematrix3d screen2eye(eye2screen.inverse());
odgsview* pview0 = device()->viewat(0);
seteyetooutputtransform(pview0->worldtodevicematrix().inverse() * eye2screen);
i think, odvectorizeex will became in this case a sample of functionality that you need, won't it?
sincerely yours,
george udov
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 02:42 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多