乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 115|回复: 8

有哪为老兄有Region炸开后line线连结代码?

[复制链接]

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-7-23 01:24:00 | 显示全部楼层 |阅读模式
有哪为老兄有Region炸开后line线连结代码?我做了一个但是逻辑性不是很强,不敢使用,谢谢了哈?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-7-23 22:36:00 | 显示全部楼层
line线连结代码?
什么意思?
回复

使用道具 举报

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-7-28 00:13:00 | 显示全部楼层
Region炸开后全部变成了line,如何将这些line连接形成闭合的Polyline,最主要的问题是Region炸开后line的顺序很难控制,所以很难找到当前Line的下一个Line!
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2005-7-28 09:13:00 | 显示全部楼层
  1. On Error Resume Next
  2. Dim sset As AcadSelectionSet
  3. ThisDrawing.SelectionSets.Item("LineSet").Delete
  4. Set sset = ThisDrawing.SelectionSets.Add("LineSet")
  5. sset.SelectOnScreen
  6. ThisDrawing.SendCommand "_pedit" & vbCr & "M" & vbCr & _
  7. "p" & vbCr & vbCr & "Y" & vbCr & "J" & _
  8. vbCr & vbCr & vbCr
回复

使用道具 举报

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-7-28 10:19:00 | 显示全部楼层
高,佩服,我怎么没想到呢?向你学习!!!
回复

使用道具 举报

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-7-30 09:36:00 | 显示全部楼层
紧急求助:各位同仁们帮助看一下这段程序问题在哪里?
Sub ConnectLine()
Dim mySelect As AcadSelectionSet
Dim MyVal(0 To 3) As String
MyVal(0) = "8": MyVal(1) = "TbRegion": MyVal(2) = "0": MyVal(3) = "REGION"
BuildFilter fType, fDate, MyVal
Set sss = ThisDrawing.SelectionSets
On Error Resume Next
ThisDrawing.SelectionSets.Item("mySelects12").Delete
On Error GoTo ErrExit
Set myss = sss.Add("mySelects12")
myss.Select acSelectionSetAll, , , fType, fDate
Dim myExplode As Variant, En As AcadEntity
For Each En In myss
   myExplode = En.Explode
   Set mySelect = sss.Add("sRegions5")
   mySelect.AddItems myExplode   '当前选择集已经添加了对象
   
   '问题:为什么下一句中P提示前一个选择集合不存在
   ThisDrawing.SendCommand "_pedit" & vbCr & "M" & vbCr & "P" & vbCr & vbCr & "Y" & vbCr & "J" & vbCr & vbCr & vbCr
   mySelect.Delete
Next
Exit Sub
ErrExit:
   MsgBox Err.Description
End Sub
'创建选择集的过滤规则
Public Sub BuildFilter(typeArray As Variant, dataArray As Variant, ByVal gCodes As Variant)
Dim fType() As Integer, fData() As Variant
Dim Index As Long, i As Long
Index = LBound(gCodes) - 1
'根据gCodes的内容创建过滤数组
For i = LBound(gCodes) To UBound(gCodes) Step 2
    Index = Index + 1
    ReDim Preserve fType(0 To Index)
    ReDim Preserve fData(0 To Index)
    fType(Index) = CInt(gCodes(i))
    fData(Index) = gCodes(i + 1)
Next
'返回值
typeArray = fType
dataArray = fData
End Sub
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2005-7-30 18:58:00 | 显示全部楼层
myExplode = En.Explode
把这一句改为用Sendcommand方法试试看
[I]'问题:为什么下一句中P提示前一个选择集合不存在[/I]
回复

使用道具 举报

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-7-30 23:09:00 | 显示全部楼层
如果用SendCommand的话,好像就不知道Region打散后的对象了哈?
回复

使用道具 举报

ljq

3

主题

31

帖子

4

银币

初来乍到

Rank: 1

铜币
43
发表于 2005-8-10 10:56:00 | 显示全部楼层
其实,采用pedit是一种没有办法的办法,如果区域是复杂的多个闭合线组合,将有多个线生成才对。这个问题用vba实在无法解决,但使用arx还是可以用程序解决的,我有别人编好的库,实在很好使用。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 06:22 , Processed in 0.886749 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表