2017-10-13 252 views
0

我想填充選定的區域,並使用看起來像網格的自定義填充區域(如國際象棋桌)。我試圖使用ANSI37模式,但它的線條太密集,除了艙口角度外,我無法修改任何東西。另外,我嘗試了autocad的自定義填充圖案創建,但是在autocad中加載文件或者在我的代碼中創建了一個填充圖案,總是會導致錯誤。
這是我的問題:無論如何,我可以創建一個自定義的填充圖案(網格狀),以便我可以控制網格線的距離嗎?是否有可能稍後檢索自定義剖面線對象,然後查詢其線條的信息? (多少行,起點和終點,它們之間的距離......) ?
預先感謝您。AutoCAD .NET:用網格/自定義填充區域填充區域

回答

0
  1. 關於定製預定義的圖案:可以這樣做,但是圖案填充的屬性必須以特定的順序定義才能產生實際效果,否則將被忽略並使用默認值。

例如:在我的情況下,我在PatternScale和PatternSpace之前定義了HatchStyle的值,而它應該是相反的方法。因此,我從默認值收到結果。

  • 關於自定義網格線繪圖和查詢:我從這些一些想法:使用Editor.TraceBoudary()方法
  • http://adndevblog.typepad.com/autocad/2013/07/create-hatch-objects-using-trace-boundaries-using-net.html

    ,我可以檢索我最需要的循環,最外層循環將是返回DBObjectCollection中的最後一個條目(精確的Polyline對象)。然後,創建需要陰影的區域並訪問其RegionAreaProperty.Extends以獲取包含我新創建的區域的矩形的左下角和右上角點。在那之後,我可以實現我的邏輯來繪製網格的線條。

    請注意,此方法僅適用於2d循環(區域,閉合多段線,直線,曲線...在Oxy平面上)。我還沒找到Editor.TraceBoundary()處理3d循環的方法。

    1. 仍然打開建議和建議的3D循環,並創建自定義艙門從一個給定的HatchPattern對象。