免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3951|回复: 29
收起左侧

EPS房屋注记合并源码

  [复制链接]

8

主题

2462

铜板

4

好友

VIP会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
229
发表于 2020-12-18 19:23 | 显示全部楼层 |阅读模式
废话不多说,直接上源码!
粘贴就可以使用,希望大家评分走起,支持支持!
  1. Sub OnClick()
  2.    SSProcess.ClearSelection
  3.    SSProcess.ClearSelectCondition
  4.    SSProcess.ClearSelectConditionGroups
  5.         SSProcess.SetSelectCondition "SSObj_Type", "=", "NOTE"
  6.         SSProcess.SetSelectCondition "SSObj_FontClass", "=", "39900292"
  7.         SSProcess.SetSelectCondition "SSObj_FontString", "=", "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52"
  8.         SSProcess.SelectFilter
  9.    SSProcess.ChangeSelectionObjAttr "SSObj_FontAlignment", "0"
  10.    SSProcess.ClearSelection
  11.    SSProcess.ClearSelectCondition
  12.    SSProcess.ClearSelectConditionGroups
  13.         SSProcess.SetSelectCondition "SSObj_Type", "=", "NOTE"
  14.         SSProcess.SetSelectCondition "SSObj_FontClass", "=", "39900291"
  15.         SSProcess.SetSelectCondition "SSObj_FontString", "=", "砖,土,混,石,砼,铁,木"
  16.         SSProcess.SelectFilter
  17.    SSProcess.ChangeSelectionObjAttr "SSObj_FontAlignment", "0"
  18.    SSProcess.PushUndoMark
  19.    SSProcess.ClearSelection
  20.    SSProcess.ClearSelectCondition
  21.    SSProcess.ClearSelectConditionGroups
  22.         SSProcess.SetSelectCondition "SSObj_Type", "=", "NOTE"
  23.         SSProcess.SetSelectCondition "SSObj_FontClass", "=", "39900292"
  24.         SSProcess.SetSelectCondition "SSObj_FontString", "=", "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52"
  25.         SSProcess.SelectFilter
  26.         geoCount = SSProcess.GetSelNoteCount()
  27.         Dim arID(100000),t(100000),idCount
  28.         For i=0 To geoCount-1
  29.               polygonID = SSProcess.GetSelNoteValue( i, "SSObj_ID" )
  30.               FontString = SSProcess.GetSelNoteValue( i, "SSObj_FontString" )
  31.                         SSProcess.GetSelNotePoint i, 0, x, y, z, pointType, name
  32.                         ids1= SSProcess.SearchNearObjIDs(x, y, 2.5, 3, "39900291", polygonID )
  33.                                                                   if ids1<>"" then
  34.                                                                   ScanString ids1, ",", arID, idCount
  35.                                                                                 For k=0 To idCount-1
  36.                                                                                                 t(k)=SSProcess.GetObjectAttr (arID(k), "SSObj_FontString")  
  37.                                                                                                  if t(k)="砖" or t(k)="土" or t(k)="混" or t(k)="石" or t(k)="砼" or t(k)="铁" or  t(k)="木"  then
  38.                                                                                                                  SSProcess.SetObjectAttr  arID(k), "SSObj_FontAlignment", "0"
  39.                                                                                                                  SSProcess.SetObjectAttr  arID(k), "SSObj_FontAlignment", "0"
  40.                                                                                                                  x1= SSProcess.GetObjectAttr (arID(k), "SSObj_X(0)" )
  41.                                                                                                                  y1=SSProcess.GetObjectAttr (arID(k), "SSObj_Y(0)" )
  42.                                                                                                                  tt=t(k)&FontString
  43.                                                                                                                  SSProcess.SetObjectAttr polygonID, "SSObj_FontString", tt
  44.                                                                                                                  SSProcess.SetObjectAttr polygonID, "SSObj_X(0)", x1                    
  45.                                                                                                                  SSProcess.SetObjectAttr polygonID, "SSObj_Y(0)", y1

  46.                                                                                                                  SSProcess.DeleteObject arID(k)
  47.                                                                                                   end if
  48.                                                                                  next
  49.                                                                   end if
  50. next
  51.    SSProcess.ClearSelection
  52.    SSProcess.ClearSelectCondition
  53.    SSProcess.ClearSelectConditionGroups
  54.         SSProcess.SetSelectCondition "SSObj_Type", "=", "NOTE"
  55.         SSProcess.SetSelectCondition "SSObj_FontClass", "=", "39900291"
  56.         SSProcess.SelectFilter
  57.    SSProcess.ChangeSelectionObjAttr "SSObj_FontAlignment", "0"
  58. End Sub
  59. Function ScanString(ByVal str, ByVal sep, ByRef strs(), ByRef count)
  60.         Dim sepidx1, sepidx2, strtemp
  61.         count = 0
  62.         sepidx1 = 1
  63.         sepidx2 = InStr(sepidx1 , str, sep, 1)
  64.         While (sepidx2 > 0)
  65.         strs(count) = Mid( str, sepidx1, sepidx2-sepidx1)
  66.         sepidx1 = sepidx2+1
  67.         sepidx2 = InStr(sepidx1, str, sep, 1)
  68.         count = count + 1
  69.         Wend
  70.         strs(count) = Mid( str, sepidx1, Len(str)+1-sepidx1)
  71.         count = count + 1
  72. End Function
  73. Function hasdot(str)
  74. bl = False
  75. For i = 1 to Len(str) - 0
  76. If Mid(str,i,1) = "." Then
  77. bl = True
  78. hasdot = bl
  79. End If
  80. Next
  81. hasdot = bl
  82. End Function
复制代码


评分

参与人数 1铜板 +4 收起 理由
xwq_69 + 4

查看全部评分

3

主题

2万

铜板

13

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1483
发表于 2020-12-21 09:41 | 显示全部楼层
好东西,学习了
回复 支持 反对

使用道具 举报

43

主题

5万

铜板

19

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
3485

精华勋章12周年纪念勋章

发表于 2021-1-11 20:56 | 显示全部楼层
谢谢分享
回复

使用道具 举报

1

主题

3709

铜板

6

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
154

贡献勋章

QQ
发表于 2021-1-12 01:41 手机频道 | 显示全部楼层
求使用方法!
回复 支持 反对

使用道具 举报

3

主题

2万

铜板

13

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1483
发表于 2021-1-12 09:26 | 显示全部楼层
谢谢分享
回复

使用道具 举报

1

主题

1万

铜板

3

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2477
发表于 2021-1-16 08:32 | 显示全部楼层

好东西,学习了
回复 支持 反对

使用道具 举报

0

主题

1346

铜板

3

好友

助理工程师

Rank: 5Rank: 5

积分
132
发表于 2021-1-19 17:06 | 显示全部楼层
怎么用呢?
回复

使用道具 举报

0

主题

1256

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
92
发表于 2021-1-29 11:53 | 显示全部楼层
马克一下,留着以后用!谢谢!
回复 支持 反对

使用道具 举报

0

主题

1387

铜板

1

好友

银牌会员

Rank: 12Rank: 12Rank: 12

积分
48
发表于 2021-6-30 09:36 | 显示全部楼层
怎么使用呢
回复 支持 反对

使用道具 举报

0

主题

1820

铜板

8

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
442
发表于 2021-11-27 11:23 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

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

本版积分规则

在线客服
快速回复 返回顶部 返回列表