반응형
▷CODE
Sub ShowModelParameters()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swCustPropMgr As CustomPropertyManager
Dim swConfig As Configuration
Dim swConfigMgr As ConfigurationManager
Dim status As Integer
Dim vParamNames As Variant
Dim i As Integer
'// 이미 실행 중인 SolidWorks 찾기
On Error Resume Next
Set swApp = GetObject(, "SldWorks.Application")
On Error GoTo 0
If swApp Is Nothing Then
MsgBox "SolidWorks가 실행 중이지 않습니다.", vbExclamation, "오류"
Exit Sub
End If
'// 활성화된 문서 가져오기
Set swModel = swApp.IActiveDoc
If swModel Is Nothing Then
MsgBox "활성화된 문서가 없습니다.", vbExclamation, "오류"
Exit Sub
Else
Worksheets("Program01").Cells(5, "E") = swModel.GetTitle
End If
'// 사용자 정의 속성 관리자 가져오기 (기본 설정)
Set swConfigMgr = swModel.ConfigurationManager
Set swConfig = swConfigMgr.ActiveConfiguration
Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
'// 매개변수 이름과 값을 가져오기
vParamNames = swCustPropMgr.GetNames
If Not IsEmpty(vParamNames) Then
For i = LBound(vParamNames) To UBound(vParamNames)
Worksheets("Program01").Cells(i + 8, "B") = i + 1
Worksheets("Program01").Cells(i + 8, "C") = vParamNames(i)
Worksheets("Program01").Cells(i + 8, "D") = swCustPropMgr.Get(vParamNames(i))
If swCustPropMgr.GetType2(vParamNames(i)) = 30 Then
Worksheets("Program01").Cells(i + 8, "E") = "string"
End If
Next i
Else
swApp.SendMsgToUser "이 모델에는 매개변수가 없습니다."
End If
End Sub
▷ Dim swApp As SldWorks.SldWorks
SolidWorks 응용 프로그램 전체를 나타내는 객체를 선언합니다.
SldWorks.SldWorks는 SolidWorks API에서 제공하는 기본 객체입니다.
이 객체를 통해 SolidWorks의 다양한 기능(파일 열기, 문서 관리, 애드인 호출 등)에 액세스할 수 있습니다.
GetObject 함수: 기존에 실행 중인 객체를 가져오는 데 사용됩니다.
Dim swApp As SldWorks.SldWorks
Set swApp = GetObject(, "SldWorks.Application")
CreateObject 함수: 새로운 객체를 생성하는 데 사용됩니다. (Solidworks를 실행 합니다)
Dim swApp As SldWorks.SldWorks
Set swApp = CreateObject("SldWorks.Application") '// SolidWorks 응용 프로그램 객체 생성
swApp.Visible = True
MsgBox "SolidWorks가 성공적으로 실행되었습니다!"
▷ Dim swModel As SldWorks.ModelDoc2
현재 활성화된 SolidWorks 문서(파트, 어셈블리, 도면 등)를 나타내는 객체를 선언합니다.
ModelDoc2는 SolidWorks에서 문서를 나타내는 객체의 기본 인터페이스입니다.
이를 통해 활성 문서의 속성이나 작업(스케치 추가, 치수 가져오기, 피처 생성 등)을 제어할 수 있습니다.
▷ 사용자 정의 속성 관리자 가져오기 (기본 설정)
Dim swCustPropMgr As CustomPropertyManager
Dim swConfig As Configuration
Dim swConfigMgr As ConfigurationManager
Set swConfigMgr = swModel.ConfigurationManager
Set swConfig = swConfigMgr.ActiveConfiguration
Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
참고
속성 유형:
swCustomInfoText = 30 (텍스트)
swCustomInfoDate = 64 (날짜)
swCustomInfoNumber = 3 (숫자)
Add3 메서드 결과 값:
swCustomInfoAddNew = 0 (새 속성 추가)
swCustomInfoReplaceValue = 1 (기존 값 대체)
'VBA SOLIDWORK' 카테고리의 다른 글
모델의 치수 이름 및 값을 가져오는 기능 (0) | 2024.12.17 |
---|---|
모델의 Feature 이름 가져오기 (0) | 2024.12.15 |
모델 이름 Paramter 이름, 값, 유형 표시 하기 #2/2 (1) | 2024.12.13 |
VBA API 설치 및 설정 (0) | 2024.12.11 |
사용자로부터 파일을 선택 하는, 파일 열기 대화 상자를 표시 (1) | 2024.11.23 |