AutoCAD 对象类型

AutoCAD 二次开发时,可以使用 TypeOf 来检查对象是否为特定的 AutoCAD 对象类型,以决定下一步操作。AutoCAD ActiveX 支持的对象类型非常多,涵盖了 AutoCAD 中几乎所有的实体和组件。以下列举一些常见的 AutoCAD 对象类型:

一、基础对象类型:

AcadBlockReference:块参照(Block Reference)

AcadDimension:标注(Dimension)

AcadHatch:填充(Hatch)

AcadLayer:图层(Layer)

AcadLine:直线(Line)

AcadMLine:多线(Multiline)

AcadPoint:点(Point)

AcadPolyline:二维多段线(2D Polyline)

Acad3DPolyline:三维多段线(3D Polyline)

AcadCircle:圆(Circle)

AcadArc:圆弧(Arc)

AcadEllipse:椭圆(Ellipse)

AcadText:文本(Text)

AcadInsert:插入(Insert)

AcadRay:射线(Ray)

AcadXLine:构造线(Xline)

AcadSpline:样条曲线(Spline)

二、高级对象类型:

AcadBlockTable:块表(Block Table)

AcadBlockTableRecord:块表记录(Block Table Record)

AcadDictionary:字典(Dictionary)

AcadDictionaryEntry:字典条目(Dictionary Entry)

AcadLayout:布局(Layout)

AcadObjectId:对象ID(Object ID)

AcadObject:基础对象(Generic Object)

AcadSelectionSet:选择集(Selection Set)

AcadTransaction:事务(Transaction)

三、集合和数组:

AcadObjectIdArray:对象ID数组

AcadObjectArray:对象数组

AcadBlockTableRecordIterator:块表记录迭代器

四、其他:

AcadDatabase:数据库(Database)

AcadDocument:文档(Document)

AcadApplication:应用程序(Application)

AcadUtility:实用工具(Utility)

随着 AutoCAD 的升级,对象类型可能会被添加,而旧的对象类型则可能会被弃用或替换。因此,需要关注当前版本 AutoCAD 的官方文档或帮助文件。

使用TypeOf时,须确保正在操作的对象是所期望的类型,否则可能会遇到运行时错误。如果不能确定对象的类型,则可以先使用 TypeOf 来检查一下它是否属于一个更通用的类型(如AcadObject),然后再进一步细化检查。

音乐相册(MusicAlbum)

一、功能介绍
1、浏览指定文件夹内的 jpg、bmp、gif 格式图片;
2、可以设定多种格式的背景音乐;
3、图片循环模式时,则从头至尾或由尾至头循环翻页;非图片循环模式时,向右翻页至首张图片即停止,向左翻页至末张图片即停止;
4、音乐循环模式指背景音乐重复播放;
5、支持从操作系统拖曳文件,音乐相册只接收其中有效的图片或音乐文件。

二、鼠标功能介绍
1、单击鼠标右键,由“选择图片文件夹”、“选择背景音乐”分别选择图片所在文件夹及背景音乐;
2、单击鼠标左键,获取焦点;
3、在图片左半幅双击鼠标左键,打开或关闭自动向右翻页功能;
4、在图片右半幅双击鼠标左键,打开或关闭自动向左翻页功能。

三、键盘功能介绍
1、Esc键,退出;
2、左、右方向箭头键(→ ←),左、右单页翻动(非图片循环模式时,至末张、首张图片时不能翻动);
3、F1键,弹出帮助;
4、其余键,打开或关闭自动翻页功能(同“在图片右半幅双击鼠标左键”)。

四、图片推荐
1、图片以横式图片且横竖比例接近3:2为宜,否则浏览时有变形(对原图片无影响)。

下载见软件下载

黑天鹅

黑天鹅一般是指那些出乎意料发生的小概率高风险事件,一旦发生影响足以颠覆以往任何经验,具有不可预测性。

欧洲人在发现澳洲之前,一直都认为天鹅全都是白色的。然而,在到了澳洲之后,他们竟然发现了黑色羽毛的天鹅,就是这一只黑天鹅,让欧洲人上千年结论彻底被推翻‘原来天鹅不仅有白色的,还有黑色的!

后来,美国著名投资人塔勒布便将“黑天鹅”事件特指极其罕见,无法预测,但是一旦发生影响足以颠覆以往任何经验的重大事件。 1997年的亚洲金融危机即为“黑天鹅”事件。泰国政府宣布泰铢与美元脱钩后,当天泰铢就贬值近20%。随后,超出意料的引发马币林吉特、新加坡元、菲律宾比索、印尼盾等下挫。这场金融危机使大部分东亚货币贬值、国际股市暴跌、多国社会秩序陷入混乱、甚至政权更迭。

协同工作平台(CWP)

一、进程管理部分
1.在此处建立连接;
2.如果想作为主机,输入特定名字,执行建立主机即可;
3.如果想作为成员加入连接,输入名字及主机 IP,执行加入连接即可;
4.作为主机可以维持秩序,比如可以将某成员逐出大家庭;
5.此处也可以查看信息交流情况;
6.VIP 名单是自动搜索主机时的范围;
7.黑名单是建立主机后拒绝加入的用户。

二、ICQ 部分
1.本软件是一款局域网聊天软件,使用非常简便;
2.同一局域网内的用户均可使用,任一用户均可作为主机,其他用户则可以键入该用户的IP地址加入连接(当然也可以建立为新的主机,等待别人加入连接);
3.想作为主机的用户,选择“建立主机”按钮即可;
4.想加入连接的用户,键入你的ID,键入已作为主机运行的计算机的IP地址(或计算机名称),选择“加入连接”按钮即可;
5.可以和已经加入的所有用户进行图画或文字交流,也可以和你选中的某个或某几个用户说悄悄话;
6.可以设置软件平台名称、连接端口号、服务器IP,也可以还原为缺省值;
7.收到新的信息,软件将会向你给出提示(声音和闪烁);
8.主机作为向大家服务的特殊用户,当然也有一些特权,比如,可以维持秩序等。

三、定制<信息管理系统>部分
1.定制指南
1).可以自由定制录入及查询系统,对象可以是物料,也可以是组织成员,也可以是设计图纸,也可以是项目文档,等等等等;
2).在系统定制页面,输入系统名称,比如,物料信息管理系统;输入十个对象属性或参数项,比如,名称/描述/型号及规格/项目信息/日期/品牌或厂家/单位/数量/价格(元)/NC 编码;
3).以后连接该主机者都会统一在以上设置之下。

2.使用指南
1).未建立连接的情况下,将录入在本地机。下次作为成员加入连接后,软件自动将本机记录上传主机;
2).在建立连接的情况下,将录入在主机;
3).在信息录入栏输入有关信息(至少一项),执行录入即可;
4).未建立连接的情况下,将在本地机查询;
5).建立连接后,将在主机查询;
6).在信息查询栏输入关键词(至少一项),执行查询即可。

四、采购申请单部分
1.生成物料编码
1).在“数据源”中选择采购中心提供的电子表格文件(即物料档案生成器对应专业的文件);
2).依次选择“物料分类”和“物料名称”;
3).继续选择“参数一”至“参数五”。
4).这时可以看到,在下部已生成物料编码。

2.生成采购申请单
1).输入项目名称、设计编号、项目编号,也可以不输入;
2).执行“填单”,将自动打开 Word,并生成“物料采购申请单”,多项物料时,重复执行“填单”;
3).必要时,选中“新建表单”,自动生成下一个“物料采购申请单”。

3.批量编码
1).双击“批量编码”以展开该项功能的区域;
2).选定编码范围,执行“批量编码”之“开始”。

4.注意事项
1).自动生成的编码和单位,要进行必要的人工核对;
2).本编辑器针对 NC 系统设计,适用于所有专业。

五、AutoCAD 文字部分
1.提取文字
1).从 AutoCAD 文件中按照一定约定提取出文字,文字置于 Excel 的第三列;
2).翻译(或其他途径)得到预期的转换文字,转换文字要置于对应的第四列;
3).翻译过程中保证第一、二、三列内容不变,且第三列只翻译汉字部分,其他词语或符号原样抄录;
4).AutoCAD 文件暂不考虑块的嵌套。

2.替换文字
1).将翻译(或其他途径)得来的文稿按照一定约定替换 AutoCAD 文件中的文字;
2).AutoCAD 文件暂不考虑块的嵌套。

3.繁简转换
1).对 AutoCAD 内的文字进行繁简转换;
2).转换为繁体字后出现乱码,须自行调整字体设置;
3).AutoCAD 文件暂不考虑块的嵌套。

六、压缩/解压部分
1.支持Zip格式的压缩与解压;
2.不改变被执行文件在系统的关联关系。

下载见软件下载

枚举进程

‘调用示例
Dim I As Integer
Dim ShowArray As Variant
ShowArray = ProcessArray
For I = LBound(ShowArray) To UBound(ShowArray)
Debug.Print ShowArray(I)
Next I

Option Explicit
Private Declare Function CreateToolhelp32Snapshot Lib “kernel32” (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib “kernel32” (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib “kernel32” (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib “kernel32” (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib “kernel32” (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
Private Declare Function TerminateProcess Lib “kernel32” (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long

Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 1024
End Type

Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000

Private Function ProcessArray() As Variant ‘生成进程名数组
Dim pProcess As PROCESSENTRY32
Dim lRet As Long
Dim lRet1 As Long
Dim sName As String
Dim I As Integer
lRet = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If lRet Then
pProcess.dwSize = 1060
If (Process32First(lRet, pProcess)) Then ‘遍历第一个进程
Dim iCount As Integer
Dim TempArray() As String
Do
I = InStr(1, pProcess.szExeFile, Chr(0))
sName = LCase(Left(pProcess.szExeFile, I – 1))
ReDim Preserve TempArray(0 To iCount)
TempArray(iCount) = sName
iCount = iCount + 1
Loop Until (Process32Next(lRet, pProcess) < 1) ‘遍历所有进程知道返回值为False
End If
lRet1 = CloseHandle(lRet)
End If
ProcessArray = TempArray
End Function