明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2953|回复: 4

在线翻译+AutoCAD VBA帮助文件----玩转AutoCAD VBA

[复制链接]
发表于 2007-12-20 10:29:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-12-20 14:20:25 编辑

我的学习经验是:

下载免费的有道桌面词典--翻译AutoCAD的VBA帮助文件,玩转AutoCAD VBA如虎天羽。

以“Text”为例,抛砖引玉掌握AutoCAD VBA的属性。

Properties 文本属性测试
Application 应用需进一步学习
Alignment 调整实例通过
Backward 置于底层实例通过
Document 文件需进一步学习
Handle 句柄实例通过
HasExtensionDictionary 扩展字典需进一步学习
Height 高度实例通过
HorizontalAlignment 水平调整实例通过
Hyperlinks 超级连接需进一步学习
InsertionPoint 插入点实例通过
Layer 图层实例通过
Linetype 线性实例通过
LinetypeScale 线性比例实例通过
Lineweight 线宽度实例通过
Normal 标准模式需进一步学习
ObjectID 对象编号实例通过
ObjectName 对象名实例通过
ObliqueAngle 倾斜角实例通过
OwnerID 所有者编号需进一步学习
PlotStyleName 画图格式名称需进一步学习
Rotation 旋转实例通过
ScaleFactor 比例因子实例通过
StyleName 格式名实例通过
TextAlignmentPoint 文本调整点实例通过
TextGenerationFlag 文本产生标识需进一步学习
TextString 文本字符串实例通过
Thickness 厚度需进一步学习
TrueColor 本色实例通过
UpsideDown 向下颠倒实例通过
VerticalAlignment 垂直调整实例通过
Visible  可见性实例通过

 楼主| 发表于 2007-12-20 11:29:00 | 显示全部楼层

查Help文件的Text。

掌握以下Text属性变化无穷,编程应用能得心应手。

Sub ttt()
  Dim Ent As AcadEntity
  Dim tt As AcadText
  Dim retcolor As AcadAcCmColor

  For Each tt In ThisDrawing.ModelSpace
    With tt
      Debug.Print ".textString 文本字符串", .textString
      Debug.Print "---------"
     
      Debug.Print ".Alignment 调整", .Alignment
      Debug.Print "---------"
      Debug.Print ".Backward 置后", .Backward
      Debug.Print "---------"
      Debug.Print ".Handle句柄 ", .Handle
      Debug.Print ".HasExtensionDictionary 扩展字典 ", .HasExtensionDictionary
      Debug.Print ".height 文本高度", .height
      Debug.Print "---------"
      Debug.Print "insertionPoint 插入点 ", .insertionPoint(0), .insertionPoint(1)
      Debug.Print "---------"
      Debug.Print ".Layer 图层 ", .Layer
      Debug.Print ".Linetype 线性", .Linetype
      Debug.Print ".LinetypeScale 线性比例 ", .LinetypeScale
      Debug.Print ".Lineweight 线性宽度 ", .Lineweight
      Debug.Print "---------"
'      Debug.Print .Normal 如何应用继续研究

      Debug.Print "---------"
      Debug.Print ".ObjectID 对象标识号 ", .ObjectID
      Debug.Print ".ObjectName 对象名称 ", .ObjectName
      Debug.Print ".ObliqueAngle 倾斜角 ", .ObliqueAngle
      Debug.Print ".OwnerID 所有者标识号 ", .OwnerID '与ObjectID有何区别
      Debug.Print "---------"
      Debug.Print ".PlotStyleName 绘图格式名 ", .PlotStyleName
      Debug.Print "---------"
      Debug.Print ".Rotation 旋转角 ", .Rotation
      Debug.Print "---------"
      Debug.Print ".ScaleFactor 比例因子 ", .ScaleFactor
      Debug.Print ".StyleName 字型格式名称 ", .StyleName
      Debug.Print "---------"
      Debug.Print ".TextAlignmentPoint 文本调整点 ", .TextAlignmentPoint(0), .TextAlignmentPoint(1)
      Debug.Print ".TextGenerationFlag 文本形成(产生)", .TextGenerationFlag
      Debug.Print ".Thickness 厚度 ", .Thickness
     
      Set retcolor = .TrueColor
      Debug.Print "文本颜色 ", retcolor.ColorIndex, "文本实体颜色 ", retcolor.EntityColor
     
      Debug.Print "---------"
      Debug.Print ".UpsideDown 颠倒 ", .UpsideDown
      Debug.Print "---------"
      Debug.Print ".Visible 可见性 ", .Visible
     
    End With
  Next tt
End Sub

运行结果如下:

.textString 文本字符串      测试文本
---------
.Alignment 调整              1
---------
.Backward 置后              True
---------
.Handle句柄   1CA
.HasExtensionDictionary 扩展字典          False
.height 文本高度             5
---------
insertionPoint 插入点        6.82904314137626            5.24248999382424
---------
.Layer 图层   0
.Linetype 线性              ByLayer
.LinetypeScale 线性比例      1
.Lineweight 线性宽度        -1
---------
---------
.ObjectID 对象标识号         2130110800
.ObjectName 对象名称        AcDbText
.ObliqueAngle 倾斜角         .349065850398866
.OwnerID 所有者标识号        2130001144
---------
.PlotStyleName 绘图格式名   颜色_6
---------
.Rotation 旋转角             .523598775598299
---------
.ScaleFactor 比例因子        1
.StyleName 字型格式名称     Standard
---------
.TextAlignmentPoint 文本调整点             .333852612992966            1.49248999382424
.TextGenerationFlag 文本形成(产生)         6
.Thickness 厚度              0
文本颜色       6            文本实体颜色  -1023410170
---------
.UpsideDown 颠倒            True
---------
.Visible 可见性             True

 楼主| 发表于 2007-12-20 14:17:00 | 显示全部楼层

在线翻译+AUTOCad's Help掌握Line属性

Sub ll()
  Dim ll As AcadLine
  Dim myApp As AcadApplication
 
  For Each ll In ThisDrawing.ModelSpace
    With ll
      Debug.Print "ll.Angle", ll.Angle
      'Debug.Print ll.Application(0)
      Debug.Print "Delta ", ll.Delta(0), ll.Delta(1), ll.Delta(2)
      'Debug.Print ll.Document
      Debug.Print "Handle ", ll.Handle
      Debug.Print "Layer ", ll.Layer
      Debug.Print "Layer ", ll.Length
      Debug.Print "Linetype ", ll.Linetype
      Debug.Print "LinetypeScale ", ll.LinetypeScale
      Debug.Print "ObjectID ", ll.ObjectID
      Debug.Print "ObjectName ", ll.ObjectName
      Set myApp = ll.Application
      Debug.Print "Gets the Application object.获取应用对象:", myApp.Name
     
    End With
    ll.Update
  Next ll
 

结果-Result:

ll.Angle       .602057916401675
Delta          566.011368148818            388.94160685795             0
Handle        87
Layer         0
Layer          686.763745708043
Linetype      ACAD_ISO06W100
LinetypeScale                2
ObjectID       2130001528
ObjectName    AcDbLine
Gets the Application object.获取应用对象: AutoCAD
ll.Angle       .785398163397448
Delta          2             2             0
Handle        8F
Layer         0
Layer          2.82842712474619
Linetype      ByLayer
LinetypeScale                1
ObjectID       2130001592
ObjectName    AcDbLine
Gets the Application object.获取应用对象: AutoCAD
ll.Angle       .785398163397448
Delta          2             2             0
Handle        90
Layer         0
Layer          2.82842712474619
Linetype      ByLayer
LinetypeScale                1
ObjectID       2130001600
ObjectName    AcDbLine
Gets the Application object.获取应用对象: AutoCAD

 楼主| 发表于 2007-12-20 14:44:00 | 显示全部楼层

翻译软件+查AutoCAD VBA帮助文件

Arc属性

Sub Arc_Attribute()
  Dim ArcAa As AcadArc, tt As AcadText
  Dim currDoc As AcadDocument
   
  For Each ArcAa In ThisDrawing.ModelSpace
    With ArcAa
      Debug.Print ".ArcLength 弧弦长", .ArcLength
      Debug.Print ".Area 弧面积", .Area
      Debug.Print "中心点坐标 ", .Center(0), .Center(1)
   
      'Document Application 文件的应用
      Set currDoc = ArcAa.Document
      Debug.Print "当前文件名 ", currDoc.Name
         
      Debug.Print "弧终点角 ", .EndAngle
      Debug.Print "弧半径 ", .Radius
     
      Debug.Print "弧起始角 ", .StartAngle
      Debug.Print "弧起始点 ", .startPoint(0), .startPoint(1)
      Debug.Print "厚度 ", .Thickness
      Debug.Print "弧度全角 ", .TotalAngle
      Debug.Print "可见性 ", .Visible
    End With
  Next ArcAa
End Sub
Result

.ArcLength 弧弦长            439.358687352826
.Area 弧面积   29906.7041554042
中心点坐标     391.358527961075            161.918314152521
当前文件名    Drawing1.dwg
弧终点角       3.52706126334714
弧半径         166.320079604921
弧起始角       .885415778349277
弧起始点       496.63376116676             290.679698710454
厚度           0
弧度全角       2.64164548499787
可见性        True

 楼主| 发表于 2007-12-20 15:01:00 | 显示全部楼层

Sub Circle_Attribute()
  Dim cc As AcadCircle
  Dim currDoc As AcadDocument
   
  For Each cc In ThisDrawing.ModelSpace
    With cc
      Debug.Print "面积 ", .Area
      Debug.Print "中心点坐标 ", .Center(0), .Center(1)
   
      'Document Application 文件的应用
      Set currDoc = cc.Document
      Debug.Print "当前文件名 ", currDoc.Name
         
      Debug.Print "圆周长 ", .Circumference
      Debug.Print "圆半径 ", .Radius
      Debug.Print "圆直径 ", .Diameter
      Debug.Print
    End With
  Next cc
End Sub

Result

面积           127565.935202348
中心点坐标     295.296834613511            153.686624345957
当前文件名    Drawing1.dwg
圆周长         1266.11248296509
圆半径         201.508060174248
圆直径         403.016120348496


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 10:22 , Processed in 0.188209 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表