翔虹AutoCAD技術中心交流天地

 找回密碼
 立即註冊
搜索
查看: 1594|回復: 1

請問如何刪除框內之物件??

[複製鏈接]
發表於 2010-1-15 12:19:58 | 顯示全部樓層

請問如何刪除框內之物件??

<附件>21021</附件><ID=21021>  發言人: Peter  kevinhung0417@yahoo.com.tw    2007/05/06 00:37 請問如何刪除框內之物件???
  我現在不知道該如何用寫程式碼 "自動" 框選框內之物件

意思就是 Dim A 宣告A
A = 框框內所有物件
然後再刪除A
( PS:框內物件很多因此無法設物件1、2、3然後刪除)


刪除動作的話我大概知道如何做
小弟我是新手,所以不知道該如何寫,我該如何把刪除框內之物件
請各位幫幫我,小弟在此謝過
可以的話麻煩提供一下程式碼給我做參考


回復 支持 反對

使用道具 舉報

 樓主| 發表於 2010-1-16 20:44:28 | 顯示全部樓層

Re:請問如何刪除框內之物件??

<ID=21026>  發言人: Peter     2007/05/06 00:37 '此步驟是要使繪圖物件在圖紙視窗上,如果超過圖紙邊緣可能造成無法刪除

Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = P1(0) - 100
point1(1) = P1(1) - 100
point1(2) = P1(2)

point2(0) = P3(0) + 100
point2(1) = P3(1) + 100
point2(2) = P3(2)
ZoomWindow point1, point2


'先建立選集,再利用P1、P2、P3、P4 四點座標做刪除動作
Dim sset As AcadSelectionSet
   Set sset = ThisDrawing.SelectionSets.Add("SSET1")
   
Dim mode As Integer
Dim pointsArray(0 To 11) As Double
  
   
   mode = acSelectionSetCrossingPolygon
   pointsArray(0) = p1(0)
   pointsArray(1) = p1(1)
   pointsArray(2) = p1(2)
   
   pointsArray(3) = p2(0)
   pointsArray(4) = p2(1)
   pointsArray(5) = p2(2)
   
   pointsArray(6) = p3(0)
   pointsArray(7) = p3(1)
   pointsArray(8) = p3(2)
   
   pointsArray(9) = P4(0)
   pointsArray(10) = P4(1)
   pointsArray(11) = P4(2)


sset.SelectByPolygon mode, pointsArray
sset.Erase


ps: mode = acSelectionSetCrossingPolygon 為刪除內框內物件包含框
  mode = acSelectionSetwimdowPolygon 為刪除內框內物件"不"包含框

小弟自行發表解答 感謝shackle大大 的指教  
如有錯誤在請各位指正  謝謝
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|翔虹AutoCAD技術中心

GMT+8, 2014-9-21 12:01 , Processed in 1.375079 second(s), 15 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表