找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1259|回复: 9

[ARX程序]:一条多义线,我想改变其中的一段

[复制链接]
发表于 2002-5-18 03:51:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一条多义线,我想改变其中的一段,
我只想到了把它炸开,然后再连接的方法,
问:这种方法是否可行?
若可行,该怎么办?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-18 03:55:21 | 显示全部楼层
你想改变AcDbPolyline一段的什么呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-5-18 04:26:27 | 显示全部楼层
重新画一段,取代原来的,
如:一条多义线,把他分成A,B,C三段,
去掉B段,重新画一段D,将A、C连接起来,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-18 04:36:29 | 显示全部楼层
最初由 bluesolar 发布
[B]重新画一段,取代原来的,
如:一条多义线,把他分成A,B,C三段,
去掉B段,重新画一段D,将A、C连接起来, [/B]


你可以用 AcDbPolyline::removeVertexAt 移去指定的顶点,AcDbPolyline::addVertexAt 再增加顶点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-5-21 03:22:55 | 显示全部楼层
removeVertexAt需要那些参数呢?
如果我只知道B段两端点的坐标而不知其端点序号等其他信息呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-21 03:45:45 | 显示全部楼层
最初由 bluesolar 发布
[B]removeVertexAt需要那些参数呢?
如果我只知道B段两端点的坐标而不知其端点序号等其他信息呢? [/B]


下面是帮助:
Acad::ErrorStatus
removeVertexAt(

    unsigned int index);

index        Input the index (0 based) of the vertex to remove

This function removes the vertex at index.
Returns Acad::eOk if successful OR Acad::eInvalidIndex if index is not valid for the polyline.

参数只是顶点索引,如果你知道两个顶点,你可以间接得到INDEX的值的,你可以用:

AcDbPolyline的查询方法:
根据 AcDbPolyline::numVerts得到的顶点数遍历每个顶点,如果你的点已知是顶点的话,那么判断点是否相等就可以了,如果你的点是中间线段上的点,用 AcDbPolyline::onSegAt(..)判断你的点是否在这个INDEX段上,就得到INDEX的值了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-5-21 05:01:05 | 显示全部楼层
如果我的顶点很多,程序执行起来效率岂非很低?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-21 05:07:27 | 显示全部楼层
最初由 bluesolar 发布
[B]如果我的顶点很多,程序执行起来效率岂非很低? [/B]


ARX遍历你整个图形数据库,算1万个对象,每个对象要一个时钟周期,10000个时钟周期,算算现在的机器的主频,看看需要多少时间?非常快的。

你试用ADS_SSGET构造X(所有实体)选择集,感觉到慢了吗?ARX遍历一次数据库比SSGET还要快。

对于你的简单的一个POLYLINE,时间更是微乎其微了。

如果你在乎这点时间,还可以使用GS标记来加快捕捉。没有必要的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-5-23 09:24:14 | 显示全部楼层
我有个程序是这种用法,很快的,我有VB和VC-arx两种,您要那一种?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-5-24 01:11:04 | 显示全部楼层
我想要VC-ARX的那种。
谢谢你了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-16 00:50 , Processed in 0.301709 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表