找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2399|回复: 8

[编程申请]:批量面域转成闭合多段线!!!!

[复制链接]
发表于 2006-6-16 12:09:07 | 显示全部楼层 |阅读模式

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

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

×
批量面域转成闭合多段线!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-18 10:55:27 | 显示全部楼层
'将多个直线连成一条轻质多段线
Public Sub joinpoly(reg As AcadRegion)
reg.Explode
On Error Resume Next
Dim sset As AcadSelectionSet
If Not IsNull(ThisDrawing.SelectionSets.Item("joinpoly")) Then
Set sset = ThisDrawing.SelectionSets.Item("joinpoly")
sset.Delete
End If
Set sset = ThisDrawing.SelectionSets.Add("joinpoly")
Dim gpcode(1) As Integer
Dim datavalue(1) As Variant
gpcode(0) = 0
gpcode(1) = 8
datavalue(0) = "line"
datavalue(1) = reg.Layer
sset.Select acSelectionSetAll, , , gpcode, datavalue
Dim det As String
det = axSSet31spEnts(sset)
sset.Clear
ThisDrawing.SendCommand "_PEDIT" & vbCr & "M" & vbCr & det & vbCr & vbCr & "J" & vbCr & vbCr & vbCr
gpcode(0) = 0
gpcode(1) = 8
datavalue(0) = "LWPOLYLINE"
datavalue(1) = reg.Layer
sset.Select acSelectionSetAll, , , gpcode, datavalue
det = axSSet31spEnts(sset)
sset.Delete
ThisDrawing.SendCommand "_PEDIT" & vbCr & "M" & vbCr & det & vbCr & vbCr & "J" & vbCr & vbCr & vbCr '用 - pe方法
End Sub
Public Function axSSet31spEnts(ByVal sset As AcadSelectionSet) As String
If sset.Count = 0 Then Exit Function
Dim entHandle As String
Dim strEnts As String
entHandle = sset.Item(0).Handle
strEnts = "( handent" & Chr(34) & entHandle & Chr(34) & ")"
If sset.Count > 1 Then
Dim i As Integer
For i = 0 To sset.Count - 1
entHandle = sset.Item(i).Handle
strEnts = strEnts & vbCr & "( handent" & Chr(34) & entHandle & Chr(34) & ")"
Next i
End If
axSSet31spEnts = strEnts
End Function
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-6-18 12:32:59 | 显示全部楼层

Re: [编程申请]:批量面域转成闭合多段线!!!!

最初由 njyulei 发布
[B]批量面域转成闭合多段线!!!! [/B]

首先面域的边界是否包含 Spline Ellipse 曲线,如果含有这两种,分解后的线要模拟才可以连接为闭合Pline。

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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2006-6-18 17:05:31 | 显示全部楼层

Re: Re: [编程申请]:批量面域转成闭合多段线!!!!

最初由 eachy 发布
[B]
首先面域的边界是否包含 Spline Ellipse 曲线,如果含有这两种,分解后的线要模拟才可以连接为闭合Pline。

ssget region -> ex... [/B]


有一种方法可以不必判断边界,只是精度与显示有关,有的差强人意。方法是:将图形制作成块,然后使用ET命令 Flatten “平面化”,选择 yes (消隐)。这种方法还对椭圆、样条曲线转多义线,特殊线形“炸碎”等有效。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2006-6-22 08:12:27 | 显示全部楼层
Flatten 处理spl有时候不理想,面域内的椭圆也会被保留,可能我不知道其它参数:)

发一个自己的,选集转多义线
命令: x2pl
支持
(0 . "ELLIPSE,SOLID,REGION,HATCH,*LINE,*TEXT,CIRCLE")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-8-6 00:16:12 | 显示全部楼层
API函数:
xdrx_region->curve 完美解决,转换后多段线首尾连接。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2015-12-20 19:25:56 | 显示全部楼层
量面域转成闭合多段
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 23:01 , Processed in 0.305258 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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