文章目录
1.二维草图下的中英文面板对着
(1)中英文对照
(2)对象层次关系
约束功能之尺寸约束
约束之几何约束
绘图功能
2.绘制功能
(1)SketchPoints 平面点的对象
SketchPoints.Add( *Point* As Point2d, [*HoleCenter*] As Boolean ) As SketchPoint
例如:在(50,10)里创建点
SketchPoints.Add(oTransGeom.CreatePoint2d(5, 1))
其中oTransGeom是空间位置对象(TransientGeometry)是创建点的前提
注:在编程里默认的单位是CM
补充:单位的设置
(1. 原长度单位不符合我们的常用单位 是微米
(2. 修改为毫米:
'定义测量单位的对象
Dim oUOM As UnitsOfMeasure
oUOM = _invApp.ActiveDocument.UnitsOfMeasure
'定义长度单位的变量
Dim LenthMeasure As String
LenthMeasure = oUOM.LengthUnits
MsgBox(LenthMeasure)
'设置长度单位为微米,查看文档可知单位对应的数字
oUOM.LengthUnits = 11267
例子:
功能:点击按钮创建4平面的个点,并修该单元后再创建另一个点。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'定义一个零件对象
Dim Part As PartDocument
Part = _invApp.Documents.Add(DocumentTypeEnum.kPartDocumentObject, _invApp.FileManager.GetTemplateFile(DocumentTypeEnum.kPartDocumentObject), True)
'定义一个模型树的对象
Dim PartCD As PartComponentDefinition
PartCD = Part.ComponentDefinition
'定义草图对象
Dim NewSketch As Sketch
NewSketch = PartCD.Sketches.Add(PartCD.WorkPlanes.Item(1))
'定义空间几何对象
Dim oTransGeom As TransientGeometry
oTransGeom = _invApp.TransientGeometry
'获得当前正在编辑的对象
Dim mSketchPoints(4) As SketchPoint
mSketchPoints(1) = NewSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(1, 1))
mSketchPoints(2) = NewSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(-1, 1))
mSketchPoints(3) = NewSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(1, -1))
mSketchPoints(4) = NewSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(-1, -1))
'定义测量单位的对象
Dim oUOM As UnitsOfMeasure
oUOM = _invApp.ActiveDocument.UnitsOfMeasure
'定义长度单位的变量
Dim LenthMeasure As String
LenthMeasure = oUOM.LengthUnits
MsgBox(LenthMeasure)
'设置长度单位为微米
oUOM.LengthUnits = 11268
NewSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(50, 10))
End Sub
(2)SketchLines 直线的对象
Name | Description |
---|---|
AddAsPolygon | 绘制多边形 |
AddAsThreePointCenteredRectangle | 三点矩形,一点过中心点 |
AddAsThreePointRectangle | 三点矩形 |
AddAsTwoPointCenteredRectangle | 两点矩形,一点过中心点 |
AddAsTwoPointRectangle | 两点对角矩形 |
AddByTwoPoints | 两点直线 |
(1. 两点直线
语法:SketchLines.AddByTwoPoints( *StartPoint* As Object, *EndPoint* As Object ) As SketchLine
例子:NewSketch.SketchLines.AddByTwoPoints(P(0, 0), P(4, 4))
注意:有两个重要的属性
oSketchLine1.EndSketchPoint 结束点对象P
oSketchLine1.StartSketchPoint 开始点对象
(2.两点对角矩阵
语法:SketchLines.AddAsTwoPointRectangle( *CornerPointOne* As Object, *CornerPointTwo* As Object ) As SketchEntitiesEnumerator
例子:NewSketch.SketchLines.AddAsTwoPointRectangle(P(5, 5), P(10, 10))
(3.两点中心矩形
语法:SketchLines.AddAsTwoPointCenteredRectangle( *CenterPoint* As Object, *CornerPoint* As Object ) As SketchEntitiesEnumerator
例子:SketchLines.AddAsTwoPointCenteredRectangle(P(-5, -5), P(-10, -10))
(4. 三点矩形,通基边和 高
语法:SketchLines.AddAsThreePointRectangle( *BasePointOne* As Object, *BasePointTwo* As Object, *HeightPoint* As Point2d ) As SketchEntitiesEnumerator
例子:SketchLines.AddAsThreePointRectangle(P(2, 3), P(7, 8), P(5, 6))
(5.三点矩形,通过中心点
语法:SketchLines.AddAsThreePointCenteredRectangle( *CenterPoint* As Object, *EdgePoint* As Object, *WidthPoint* As Point2d ) As SketchEntitiesEnumerator
例子:SketchLines.AddAsThreePointCenteredRectangle(P(2, 3), P(7, 8), P(5, 6))
(6.多边形
语法:SketchLines.AddAsPolygon( *NumberOfSides* As Long, *CenterPoint* As Object, *CircumferencePoint* As Object, *Inscribed* As Boolean ) As SketchEntitiesEnumerator
例子:AddAsPolygon(边数,中心点,边上点,是否内切)
(3)SketchCircles 圆的对象
Name | Description |
---|---|
AddByCenterRadius(中心点,半径) | 中心圆和半径创建圆 |
AddByThreePoints(P1,P2,P3) | 三点定一圆 |
(4)SketchArcs 圆弧的对象
注:SketchArcs对象还包括圆角命令AddByFillet
Name | Description |
---|---|
AddByCenterStartEndPoint(中心点,起始点,终点) | 中心点 + 起点 + 终点圆弧 |
AddByCenterStartSweepAngle(中心点,半径,起角,终角) | 中心点+起点+扫略圆弧 |
AddByFillet(边1,边2,半径,边1起点,边2终点) | 圆角命令 |
AddByThreePoints(P1,P2,P3) | 三点圆弧 |
(5)曲线的命令
(1.SketchControlPointSplines 通过顶点的样条曲线
SketchControlPointSplines.Add( *ControlPoints* As ObjectCollection ) As SketchControlPointSpline
(2. SketchSplines 通过插值的样条曲线
SketchSplines.Add( *FitPoints* As ObjectCollection, [*FitMethod*] As SplineFitMethodEnum ) As SketchSpline
FitMethod:是创建的方法,不同的方法实现不同线条的效果。
(3. SketchEquationCurves 表达式曲线
SketchEquationCurves.Add( *EquationType* As CurveEquationTypeEnum, *CoordinateSystemType* As CoordinateSystemTypeEnum, *XValueOrRadius* As String, *YValueOrTheta* As String, *MinValue* As Variant, *MaxValue* As Variant ) As SketchEquationCurve
(5)SketchEllipses 椭圆
SketchEllipses.Add( *CenterPoint* As Object, *MajorAxisVector* As UnitVector2d, *MajorRadius* As Double, *MinorRadius* As Double ) As SketchEllipse
(6)TextBoxes文本框
TextBoxes.AddByRectangle( CornerOne As Point2d, CornerTwo As Point2d, FormattedText As String, [TextStyle] As Variant ) As TextBox
3.约束功能
约束功能之尺寸约束
Name | Description |
---|---|
AddArcLength | 弧长尺寸 |
AddDiameter | 直接尺寸 |
AddEllipseRadius | 椭圆半径尺寸 |
AddOffset | 偏移尺寸 |
AddOffsetSpline | 偏移曲线 |
AddRadius | 半径尺寸 |
AddTangentDistance | 切点距离尺寸 |
AddThreePointAngle | 三点角度 |
AddTwoLineAngle | 两直线角度 |
AddTwoPointDistance | 两点的距离 |
约束功能之几何约束
Name | Description |
---|---|
AddCoincident | 重合约束 |
AddCollinear | 共线约束 |
AddConcentric | 同心约束 |
AddEqualLength | 等长约束 |
AddEqualRadius | 等半径约束 |
AddGround | 地面约束 |
AddHorizontal | 水平约束 |
AddHorizontalAlign | 线水平约束 |
AddMidpoint | 中心点约束 |
AddMidPointToArc | 中点圆弧约束 |
AddParallel | 平行约束 |
AddPerpendicular | 垂直约束 |
AddSmooth | Method that creates a new smooth (G2-continuous) constraint. This method will fail if the constraint overconstrains the sketch. |
AddSymmetry | 对称约束 |
AddTangent | 相切约束 |
AddVertical | 竖直约束 |
AddVerticalAlign | 线竖直约束 |