inventor二次开发-课程5-开始第一张2D图

| 返回总目录 | 前一课 | 后一课 |

1.二维草图下的中英文面板对着

(1)中英文对照

(2)对象层次关系

在这里插入图片描述

约束功能之尺寸约束

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xOWNLXaW-1583056592726)(图片/尺寸约束几何.png)]

约束之几何约束

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CzcJBOEG-1583056592727)(图片/几何约束.png)]

绘图功能

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 直线的对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTEfRaHF-1583056592728)(图片/矩形组绘图命令.png)]

NameDescription
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 圆的对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VgmID4IV-1583056592729)(图片/圆组命令.png)]

NameDescription
AddByCenterRadius(中心点,半径)中心圆和半径创建圆
AddByThreePoints(P1,P2,P3)三点定一圆

(4)SketchArcs 圆弧的对象

注:SketchArcs对象还包括圆角命令AddByFillet

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wj4mVL0F-1583056592730)(图片/圆弧组命令.png)]

NameDescription
AddByCenterStartEndPoint(中心点,起始点,终点)中心点 + 起点 + 终点圆弧
AddByCenterStartSweepAngle(中心点,半径,起角,终角)中心点+起点+扫略圆弧
AddByFillet(边1,边2,半径,边1起点,边2终点)圆角命令
AddByThreePoints(P1,P2,P3)三点圆弧

(5)曲线的命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WM5W6jPG-1583056592731)(图片/曲线的命令.png)]

(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.约束功能

约束功能之尺寸约束

NameDescription
AddArcLength弧长尺寸
AddDiameter直接尺寸
AddEllipseRadius椭圆半径尺寸
AddOffset偏移尺寸
AddOffsetSpline偏移曲线
AddRadius半径尺寸
AddTangentDistance切点距离尺寸
AddThreePointAngle三点角度
AddTwoLineAngle两直线角度
AddTwoPointDistance两点的距离

约束功能之几何约束

NameDescription
AddCoincident重合约束
AddCollinear共线约束
AddConcentric同心约束
AddEqualLength等长约束
AddEqualRadius等半径约束
AddGround地面约束
AddHorizontal水平约束
AddHorizontalAlign线水平约束
AddMidpoint中心点约束
AddMidPointToArc中点圆弧约束
AddParallel平行约束
AddPerpendicular垂直约束
AddSmoothMethod that creates a new smooth (G2-continuous) constraint. This method will fail if the constraint overconstrains the sketch.
AddSymmetry对称约束
AddTangent相切约束
AddVertical竖直约束
AddVerticalAlign线竖直约束
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Inventor二次开发论坛是一个为Inventor软件开发者和用户提供交流和分享的平台。该论坛旨在促进创新和改进,为用户提供更多的资源和工具,以便更好地开发和定制他们的Inventor软件。 在这个论坛上,开发者和用户们可以互相讨论和解答各种Inventor二次开发相关的问题。无论是初学者还是经验丰富的开发者,都可以在这里找到解决问题的方法和策略。论坛上有丰富的教程、教学视频和示例代码,可以帮助用户更好地理解和应用Inventor二次开发的技巧和知识。 此外,Inventor二次开发论坛还举办定期的线上研讨会和培训课程,以帮助用户深入了解Inventor的各种功能和开发技术。这些活动通常由经验丰富的开发者或Inventor团队的成员主持,他们会分享自己的经验和技巧,并回答用户的问题。 这个论坛也为用户提供了一个展示和分享自己成果的机会。开发者可以在论坛上展示他们的作品和项目,并得到其他用户的反馈和建议。这有助于促进创新和改进,同时也加强了开发者之间的合作和交流。 总之,Inventor二次开发论坛是一个非常有价值的平台,为Inventor软件的开发者和用户提供了一个互相学习和交流的环境。通过这个论坛,用户可以更好地了解和应用Inventor二次开发的技术和知识,同时也可以展示和分享自己的成果。这将推动Inventor软件的进一步发展和创新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值