几何尺寸与公差论坛------致力于产品几何量公差标准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, 05:30 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】cannot update hatch loops

cannot update hatch loops
cannot update hatch loops
hi,
we want to replace spline edges in hatch loops with line edges (i.e. explode the spline edge and put back line segment edges.)
the problem is that the insertloopat seems not to work, in generates a catch... error.
simple example code that generates the error:
quote:
for (int i = 0; i < phatch->numloops(); i++) {
edgearray edges;
edges.clear();
looptype = phatch->looptypeat(i);
phatch->getloopat (i, edges);
phatch->removeloopat(i);
// attempt to put back the exact same edges array here fails, why?
phatch->insertloopat(i,looptype,edges);
}
the above example fails for a simple loop with just 4 line edges.
so am i expecting too much, or is there a glaring mistake in what we are trying to do?
any help appreciated!
thanks,
paul g
it may happen if hatch is solid fill and loop is not closed. non-closed loops may be read from file but are invalid actually.
what exception do you get?
vladimir
hi,
thanks for your reply.
quote:
it may happen if hatch is solid fill and loop is not closed.
it's not a solid hatch.
the ends all join correctly, and the loop is closed.
( dxf file is attached )
quote:
what exception do you get?
well i don't know. all i know is that the exception happens in the call to insertloopat. i have:
catch (oderror& e) {}
catch (std::exception& e) {}
catch (int i) {}
catch (long l) {}
catch (unsigned u) {}
catch (double d) {}
catch (float f) {}
catch (char *str) {}
catch (char c) {}
catch (...) {}
it only gets caught in catch (...) {}
thanks,
paul g
attached files (15.7 kb, 1 views)

getloopat() returns pointers to the edges that are used inside the hatch, not copies (rather dangerous function).
removeloopat() deletes these edges.
vladimir
yes, that solved the problem. thanks for your help.
paul g
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】another case of wrong loop type in hatch data yang686526 DirectDWG 0 2009-05-04 04:01 PM
【转帖】adding predefined type hatch yang686526 DirectDWG 0 2009-05-04 03:45 PM
【转帖】a hatch problem yang686526 DirectDWG 0 2009-05-04 03:07 PM
用c#怎么填充hatch,高手给段代码吧!!谢谢 yang686526 ObjectARX(VB.NET/C#) 0 2009-04-21 05:09 PM
【转帖】pdmworkgroups api - pdmwproperties.update yang686526 SolidWorks二次开发 0 2009-04-12 10:01 PM


所有的时间均为北京时间。 现在的时间是 08:55 AM.


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