Sap2000——Edit Area

該部分介紹的方法是面相關的操作函數,對應軟件中的位置如下圖所示:
在這裏插入圖片描述

Divide(面分割)

語法參數

SapObject.SapModel.EditArea.Divide(ByVal Name As String, 
				   ByVal MeshType As Long, 
				   ByRef NumberAreas As Long, 
				   ByRef AreaName() As String, 
				   Optional ByVal n1 As Long = 2, 
				   Optional ByVal n2 As Long = 2, 
				   Optional ByVal MaxSize1 As Double = 0, 
				   Optional ByVal MaxSize2 As Double = 0, 
				   Optional ByVal PointOnEdgeFromGrid As Boolean = False, 
				   Optional ByVal PointOnEdgeFromLine As Boolean = False, 
				   Optional ByVal PointOnEdgeFromPoint As Boolean = False, 
				   Optional ByVal ExtendCookieCutLines As Boolean = False, 
				   Optional ByVal Rotation As Double = 0, 
				   Optional ByVal MaxSizeGeneral As Double = 0, 
				   Optional ByVal LocalAxesOnEdge As Boolean = False, 
				   Optional ByVal LocalAxesOnFace As Boolean = False, 
				   Optional ByVal RestraintsOnEdge As Boolean = False, 
				   Optional ByVal RestraintsOnFace As Boolean = False) 

Parameters:
    Name:現有區域對象的名稱;
    MeshType:參數值可以是123456,分別代表
    	     1 = 根據指定數量進行的網格劃分
	     2 = 根據指定的最大尺寸進行網格劃分
	     3 = 根據區域邊緣上的點劃分網格區域
	     4 = 基於線與線的相交邊緣切割網格區域
	     5 = 基於點切割網格區域
	     6 = 使用通用劃分工具劃分網格區域
    NumberAreas:在劃分指定的區域對象時創建的區域對象的數量
    AreaName:這是在劃分指定的area對象時創建的每個area對象的名稱數組
    n1、n2:對應邊的劃分數量;
    MaxSize1、MaxSize2::對應邊的劃分最大尺寸;
    PointOnEdgeFromGrid:如果爲真,則區域對象邊緣上的點由可見網格線與區域對象邊緣的交點確定
    PointOnEdgeFromLine:如果爲真,則由所選直線物體與區域物體邊緣的交點來確定區域物體邊緣上的點
    PointOnEdgeFromPoint:如果爲真,則區域對象邊緣上的點由區域對象邊緣上的選定點對象確定
    ExtendCookieCutLines:
    Rotation:
    MaxSizeGeneral:
    LocalAxesOnEdge:如果該項爲真,且原區域對象沿某邊的兩個點具有相同的局部軸,則程序將沿該邊添加點的局部軸設置爲與邊緣端點相同
    LocalAxesOnFace:如果這個項目是真的,如果這兩點優勢的原始區域對象有相同的限制/約束,然後,如果添加點和相鄰的角點有相同的地方軸定義,程序包括限制/約束添加點沿邊緣
    RestraintsOnEdge:如果這個項目是真的,如果這兩點優勢的原始區域對象有相同的限制/約束,然後,如果添加點和相鄰的角點有相同的地方軸定義,程序包括限制/約束添加點沿邊緣
    RestraintsOnFace:如果該項爲真,且原面積對象周邊的所有點都具有相同的約束條件,那麼,如果一個附加點和周邊點具有相同的局部軸定義,則程序將包含附加點的約束條件

在這裏插入圖片描述

代碼示例

# create model from template
ret = SapModel.File.NewWall(2, 48, 2, 48)

# 'divide area object
NumberAreas = 2
AreaName = ""
ret = SapModel.EditArea.Divide("1", 1, NumberAreas, AreaName)

在這裏插入圖片描述

ExpandShrink(擴展/收縮面)

語法參數

SapObject.SapModel.EditArea.ExpandShrink(ByVal OffsetType As Long, 
					 ByVal Offset As Double)

Paremeters:
    OffsetType:012三個枚舉值可選
    	       0 = Offset all area edges
	       1 = Offset selected area edges only
	       2 = Offset selected points of selected areas only
    Offset:偏移距離;
    

代碼示例

# expand area object
ret = SapModel.SelectObj.ClearSelection
ret = SapModel.AreaObj.SetSelectedEdge("4", 2, True)
ret = SapModel.EditArea.ExpandShrink(1, 48)

# refresh view, updating zoom
ret = SapModel.View.RefreshView(0, False)

在這裏插入圖片描述

Merge(面合併)

語法參數

SapObject.SapModel.EditArea.Merge(ByRef NumberAreas As Long, 
				  ByRef AreaName() As String)

代碼示例

# merge area objects
ret = SapModel.SelectObj.ClearSelection
ret = SapModel.AreaObj.SetSelected("1", True)
ret = SapModel.AreaObj.SetSelected("2", True)
ret = SapModel.AreaObj.SetSelected("4", True)


NumberAreas = 2
AreaName = ""
ret = SapModel.EditArea.Merge(NumberAreas, AreaName)

ret = SapModel.View.RefreshWindow

在這裏插入圖片描述

PointAdd(添加邊中點)

語法參數

SapObject.SapModel.EditArea.PointAdd()

Parameters:
    None

代碼示例

# merge area objects
ret = SapModel.SelectObj.ClearSelection
ret = SapModel.AreaObj.SetSelected("1", True)
ret = SapModel.AreaObj.SetSelected("2", True)
ret = SapModel.AreaObj.SetSelected("4", True)

# add point to area object
ret = SapModel.SelectObj.ClearSelection
ret = SapModel.AreaObj.SetSelectedEdge("4", 2, True)
ret = SapModel.EditArea.PointAdd()

ret = SapModel.View.RefreshWindow

在這裏插入圖片描述

PointRemove(移除邊中點)

語法參數

SapObject.SapModel.EditArea.PointRemove()

Parameters:
    None
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章