lisp调用qleader端点_常用函数.lsp - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

本帖最后由 自贡黄明儒 于 2013-11-11 12:57 编辑

;;各位,把你们收藏都拿出秀一秀呀,放在箱底会生霉的

;;我的收集是在caoyin发布的通用函数基础上扩展的----自贡黄明儒 2012.9.20

;;有人说,抄一个人的叫偷,抄多个人的叫做研究,如果这种说话真的成立的话,那么我是在进行研究

;;1 [功能] 检查加载vlisp扩展

;;2  常数(lisp编辑器在输出局部变量时,带*的会排在前面.Caoyin这样写很有道理)

;;3 [功能] 返回活动空间vla对象

;;4.1 [功能] 返回当前活动空间名称("Model" or &quot

aper")

;;4.2 [功能] 返回空间名称,如"Model"或者"Layout1"...

;;5 [功能] 返回Preferences vla对象

;;6 [功能] 返回指定引用的属性

;;7 [功能] 更改引用设置

;;8 [功能] 返回 acad对象的属性

;;9 [功能] 对象名称

;;10 [功能] 打开文件名列表

;;11 [功能] 查询对象属性和方法

;;12 [功能] 设置 Qleader 命令“引线设置”对话框的相关参数

;;13 [功能] 求点集中最远,最近点表   ;By 无痕

;;14.1 [功能] 返回指定集合的数量

;;14.2 [功能] 返回文档集合的数量

;;15 [功能] 返回文档指定对象的属性

;;15.1 [功能] 图层集合

;;15.2 [功能] 线型集合

;;15.3 [功能] 文字样式集合

;;15.4 [功能] 尺寸样式集合

;;15.5 [功能] 布局集合

;;15.6 [功能] 词典集合

;;15.7 [功能] 块集合

;;15.8 [功能] 打印配置集合

;;15.9 [功能] 视图集合

;;15.10 [功能] 视口集合

;;15.11 [功能] 组集合

;;15.12 [功能] 注册程序集合

;;16 [功能] 返回集合成员名称列表

;;16.1 [功能] 返回线型集合成员名称列表(常量*LTS*)

;;16.2 [功能] 返回层集合成员名称列表(常量*LAYS*)

;;16.3 [功能] 返回文字样式集合成员名称列表(常量*STS*)

;;16.4 [功能] 返回尺寸样式集合成员名称列表

;;16.5 [功能] 返回布局集合成员名称列表

;;16.6 [功能] 返回词典集合成员名称列表

;;16.7 [功能] 返回块集合成员名称列表

;;16.8 [功能] 返回打印配置集合成员名称列表

;;16.9 [功能] 返回视图集合成员名称列表

;;16.10 [功能] 返回视口集合成员名称列表(同常量*VPS*)

;;16.11 [功能] 返回组集合成员名称列表

;;16.12 [功能] 返回注册程序集合成员名称列表

;;17 [功能] 点表排序(根据x Y 或者Z坐标排序)

;;18 [功能] 集合->列表

;;19 [功能] 线型数量

;;20 [功能] 对集合对象的每个成员执行指定函数的操作

;;20.1 [功能] 显示集合对象每个成员的方法和属性.既然是集合,方法是相同的

;;20.2 [功能] 删除对象

;;21.1 [功能] ename->vla对象

;;21.2 [功能] vla对象->ename

;;22 [功能] 返回对象名称(见9)

;;23.1 编组开始(command "_.undo" "be")

;;23.2 编组结束(command "_.undo" "END")

;;24 [功能] 用一个对象的属性等修改另一个对象的属性

;;24.1 [功能] 用一个对象的'(图层 线型...)修改另一个对象的图层 线型...等

;;25.1 [功能] 配置文件集合

;;25.2 [功能] 设置配置文件

;;25.3 [功能] 重新装载配置文件

;;25.4 [功能] 重启默认配置文件

;;25.5 [功能] 输出配置文件

;;25.6 [功能] 输出配置文件

;;25.7 [功能] 输入配置文件

;;25.8 [功能] 复制配置文件

;;25.9 [功能] 重命名配置文件

;;25.10 [功能] 删除配置文件

;;25.11 [功能] 配置文件是否存在

;;25.12 [功能] 配置文件列表

;;26.1 [功能] 非当前文档,关闭(不保存)

;;27.1 [功能] 保存所有文档

;;27.2 [功能] 活动文档是否已经保存?

;;27.3 [功能] 另存为2K格式

;;27.4 [功能] 另存为R14格式

;;28.1 [功能] 清理打开文档

;;28.2 [功能] 删除未使用的图层,比purge彻底

;;29.1 [功能] 取得选定块的指定属性

;;29.2 [功能] 取得块属性列表

;;29.3 [功能] [功能] 取得块属性列表

;;29.4 [功能] Returns a list of constant attributes tags and their values

;;30.1 [功能] 更改块指定属性

;;30.2 [功能] 更改选定块的指定属性

;;30.3 [功能] 更改块多个属性

;;30.4 [功能] 更改块多个属性

;;31.1 [功能] 返回指定(块名 标记 属性值)的块 选择集

;;31.2 [功能] 返回指定(块名 标记 属性值)的块 选择集

;;32.1 [功能] 更改属性位置

;;32.2 [功能] 更改块属性宽度

;;32.3 [功能] 更改块属性高度

;;33 [功能] 列表块插入点(Y排序)

;;34 [功能] 块集的某一属性,显示块的x(or y z)值

;;35.1 [功能] 块中删除对象

;;35.2 [功能] 块增加对象

;;34 [功能] 返回指定块每一个引用实体名列表

;;35 [功能] 块引用名列表

;;36 [功能] 删除指定名的所有块

;;37 [功能] 块名"BTL"是否存在

;;38 [功能] 块更名

;;39 [功能] 块名例表

;;40 [功能] XRef图块列表

;;41 [功能] 返回名为"bn"的XRef图块实体列表

;;42 [功能] 返回包容点集的最小点最大点列表

;;43.1 [功能] 两点中点

;;43.2 [功能] ,,列表  ;By 无痕

;;44 [功能] 求矩形中心

;;45 [功能] 返回封闭曲线质心二维坐标

;;46.1 [功能] 多段线各顶点(见99.3)

;;46.2 [功能] pline,lwpline点坐标表  By 无痕

;;46.3 [功能] 返回包含每一出现在列表中的指定键的cdr(点对的后部分)的列表

;;47 [功能] 曲线是否封闭

;;48 [功能] 返回一个包涵经过pt点的多段线端点的列表

;;49 [功能] 把弧变成圆

;;50.1 [功能] 线型是否存在?

;;50.2 [功能] 改变vla对象线型

;;51.1 [功能] 角度->弧度

;;51.2 [功能] 弧度->角度

;;52.1 [功能] 3D点->2D点 By Caoyin

;;52.2 [功能] 3D点->2D点

;;52.3 [功能] 3D点列表->2D点列表

;;52.4 [功能] 3D点列表->2D点列表

;;52.5 [功能] 对表分段

;;53.1 [功能] 画线

;;53.2 [功能] 根据点表画线

;;54 [功能] 画弧

;;55 [功能] 画圆

;;56 [功能] 画多段线

;;56.1 [功能] 画椭圆

;;56.2 [功能] 画椭圆弧

;;56.3 [功能] 画椭圆弧

;;57 [功能] 生成一个点

;;58 [功能] 单行文字

;;59 [功能] 画多边形

;;60 [功能] 画矩形

;;61 [功能] 画长方体

;;62 [功能] 多行文字MText

;;63 [功能] 面域Region

;;64 [功能] 对象外画一矩形

;;65.1 [功能] 创建图层(成功返回层名)

;;65.2 [功能] 创建一个图层(新建层不为当前层)

;;66.1 [功能] 表->变体数组类型

;;66.2 [功能] 表->整数数组

;;66.3 [功能] 表->变体数组

;;66.4 [功能] 选择集->数组

;;66.5 [功能] 列表->变体数组

;;67 [功能] 对象端点列表

;;68 [功能] 更改Vla对象线型比例

;;69 [功能] 将图层集合中的第一个图层设置为当前层

;;70 [功能] 设置指定层为当前层

;;71.1图层列表 开

;;71.2 [功能] 图层列表 关

;;71.3 [功能] 图层列表 冻结

;;71.4 [功能] 图层列表 解冻

;;71.5 [功能] 图层列表 [打印/不打印]

;;71.6 [功能] 图层列表 锁

;;71.7 [功能] 图层列表 解锁

;;71.8 [功能] 锁定图层列表

;;71.9 [功能] 返回冻结图层列表

;;71.10 [功能] 返回关闭图层列表

;;71.11 [功能] 可打印图层列表

;;71.12 [功能] 非打印图层列表

;;71.13 [功能] 层是否冻结?

;;71.14 [功能] 解冻 解锁 开 所有图层

;;71.15 [功能] 恢复图层状态  By coaying

;;71.16 [功能] 得到图层状态highflybird

;;71.17 [功能] 恢复图层状态highflybird

;;71.18 [功能] 图层是否锁定?

;;72 [功能] 设置vla对象线宽

;;73 [功能] vla选择集是否存在

;;74.1 [功能] 返回指定类型的选择集

;;74.2 [功能] 返回指定类型的选择集

;;74.3 [功能] 返回0层上的圆选择集

;;74.4 [功能] 返回圆选择集(并打印名称)

;;75.1 [功能] 返回CAD窗口状态

;;75.2 [功能] 设置CAD窗口状态

;;76.1 [功能] 隐藏CAD

;;76.2 [功能] 显示CAD

;;76.3 [功能] 隐藏CAD一段时间

;;77.1 [功能] CAD参数选择

;;77.2 [功能] 线宽显示

;;77.3 [功能] 隐藏线宽

;;77.4 [功能] 对象捕捉开

;;77.5 [功能] 对象捕捉关闭

;;77.6 [功能] 图形被其它用户参照时仍可以立即编辑

;;77.7 [功能] 图形被其它用户参照时不可以立即编辑

;;78.1 [功能] CAD菜单集合

;;78.2 [功能] 菜单列表

;;78.3 [功能] 菜单是否存在

;;78.4 [功能] 工具条Vla集合

;;78.5 [功能] 工具条列表

;;78.6 [功能] 工具条列表

;;78.7 [功能] 工具条是否存在

;;78.8 [功能] 指定工具条(Vla)

;;78.9 [功能] 显示指定工具条

;;78.10 [功能] 隐藏工具条

;;78.11 [功能] 工具条放置位置

;;78.12 [功能] Float a given toolbar at specified position(top and left)

;;78.13 [功能] 改变工具条按钮位图

;;79 [功能] 2D点转成vla 2D

;;80 [功能] 激活最左边一个布局

;;81 [功能] VLA选择集过滤条件

;;81 [功能] 类型库智能化加载

;;82 [功能] 转换路径中字符 "/" 为 "\\" 并返回大写值

;;83 [功能] 通过IE 显示一个 HTML 字符串

;;84.1 [功能] 显示时间/日期对话框

;;84.2 [功能] Returns the logical drive letter to which a network share is mapped

;;84.3 [功能] 返回驱动器类型

;;84.4 [功能] 返回驱动器列表

;;84.5 [功能] 修改本地磁盘的卷标

;;84.6 [功能] 执行 DOS DELTREE 命令

;;84.7 [功能] 创建目录

;;84.8 [功能] 复制文件或目录

;;84.9 [功能] 复制目录下所有文件和目录

;;84.10 [功能] 移动文件或目录

;;84.11 [功能] 重命名文件或目录

;;84.12 [功能] 返回磁盘的类型

;;84.13 [功能] 返回当前的磁盘表

;;84.14 [功能] 返回磁盘的所有信息

;;84.15 [功能] 返回文件的特定信息

;;84.16 [功能] 返回磁盤的所有信息

;;84.17 [功能] 读文本文件到表 (快于 AutoLISP read-line函数)

;;84.18 [功能] 将字符串或表写入文件 (快于 AutoLISP write-line函数)

;;84.19 [功能] 目录浏览对话框

;;84.20 [功能] 显示 windows 的确认对话框包括图标和可选按钮

;;84.21 [功能] 当前目录文件搜索. 类似于 DIR /S 命令

;;84.22 [功能] 合并两个文本文件

;;85.1 [功能] 字符串分割为表  By 无痕

;;85.2 [功能] 字符串分割为表 -------梁雄啸.2004.3

;;85.3 [功能] 字符串分割为表 (纯autolspl的写法)-----梁雄啸.2004.3

;;85.4 [功能] 字符串分割为表

;;85.5 [功能] 字符串分割成表

;;85.6 [功能] 字符串函数   by qjchen@gmail.com

;;85.7 [功能] 用分隔符解释字符串成表 ;by fsxm

;;85.8 [功能] 字符串分割(这是highflybird问答我的求助)

;;86.1 [功能] Exports the specified project to disk

;;86.2 [功能] Imports a project exported by MJ:ExportProject

;;87.1 [功能] 包围对象最小最大点列表

;;87.2  选择集的实体外矩形框 by gxl

;;88 [功能] 返回曲线长度(不能返回块中曲线长度)

;;89 [功能] Returns the size of the specified file in bytes

;;90.1 [功能] 返回文字样式字体高度

;;90.2 [功能] 设置文字样式字体高度

;;91 [功能] Returns the LISP value of an ActiveX variant

;;92.1 [功能] Attach Extended Entity Data to an AutoCAD object

;;92.2 [功能] Get Extended Entity Data attached to an AutoCAD object

;;93 [功能] 面积标注

;;94 [功能] 重命名布局

;;95 [功能] 返回打开文件列表

;;96 [功能] 返回布局列表

;;97 [功能] 窗口左下角空间切换是否显示

;;98.1 [功能] 模型空间背景色在空白之间切换

;;98.2 [功能] 布局空间背景色在空白之间切换

;;99.1 [功能] 表->二维表

;;99.2 [功能] 表->三维表

;;99.3 [功能] 获取多段线顶点列表(见46)

;;99.4 [功能] 两对象交点

;;100.1 [功能] 判断是否val对象?

;;100.2 [功能] 判断是否字符串

;;100.3 [功能] 判断是否实数?

;;100.4 [功能] 判断是否ename对象?

;;100.5 [功能] 判断是否变体?

;;100.6 [功能] 判断 X 是否是选择集且长度不为 0

;;101 [功能] 多段线顶点的连续样式产生线型

;;102.1 [功能] 使对象颜色随层

;;102.2 [功能] 设置当前颜色

;;103 [功能] 打印配置

;;104 [功能] 打印设备列表

;;105.1 [功能] 清除所有捕捉,与按F3有不同处(参见77.4)

;;105.2 [功能] MJ:SnapOn之后下面函数只启用端点捕捉

;;106 [功能] 打开一个文件

;;107.1 [功能] 原位复制Vla

;;107.2 [功能] 原位复制ename

;;107.3 [功能] 原位置复制VLA选集

;;107.4 [功能] 删除VLA选择集

;;107.5 [功能] 块内原地复制 By xshrimp

;;107.6 [功能] 块内原地复制 by highflybird

;;107.7 [功能] 块内原地复制 by GSLS(SS)

;;108 [功能] 输出 WMF SAT EPS DXF BMP格式文件

;;109 [功能] 移动Move

;;110 [功能] 偏移

;;111 [功能] 退出Acad

;;112 [功能] 重生成

;;113 [功能] 旋转

;;114.1 [功能] 多段线添加节点Vertex

;;114.2 [功能] 多段线修改节点Vertex

;;115 [功能] 文件名已经保存,返回T;新建一文件,未命名保存过,返回 nil

;;116.1 [功能] 缩放整个图形

;;116.2 [功能] 缩放到实际范围

;;116.3 [功能] pt中心点缩放1

;;116.4 [功能] pt中心点缩放2

;;116.5 [功能] 两点窗口缩放

;;116.6 [功能] 视口比例缩放-放大2倍

;;116.7 [功能] 视口比例缩放

;;116.8 [功能] 返回上一视图

;;117.1 [功能] 在当前视图状况下将图形单位转换为像素

;;117.2 [功能] 返回当前视窗左下角和右上角 坐标

;;117.3 [功能] pickbox大小

;;118 [功能] 获取 0~1 之间的随机数 (by zml84)

;;119.1 [功能] 将 ACI 索引颜色转换成 RGB 配色系统

;;119.2 [功能] 将 RGB 配色系统转换成 ACI 索引颜色

;;120.1 [功能] 选择集->图元列表

;;120.2 [功能] 选择集->图元列表 By caiqs

;;120.3 [功能] 图元列表->选择集

;;120.4 [功能] 图元列表->选择集 By caiqs

;;121 [功能] 根据当前文档的图形单位精度将实数转换为字符串

;;122.1 [功能] 遍历选择集对所包含的图元进行指定函数操作

;;122.2 [功能] 遍历选择集对所包含的图元进行指定函数操作

;;123 [功能] 获取当前 AutoCAD 的版本

;;124 [功能] 获取 DXF 组码值

;;125.1 [功能] 获取在图元 en 之后产生的图元列表

;;125.2 [功能] 获取在图元 en 之后产生的图元的选择集

;;126 [功能] 打印列表中的数据

;;127 [功能] 更新组码

;;128.1 [功能] 选择集->无名块

;;128.2 [功能] 用 [选择集/obj表] 做成一个块

;;128.3 [功能] 选择集做成一个块

;;129.1 [功能] 删除表中相同图元

;;129.2 [功能] 剔除表元素 By 无痕

;;130 [功能] 获得特定符号表的列表

;;131.1 [功能] 返回a在表lst中的位置 or nil

;;131.2 [功能] 从列表中删除指定的元素

;;132 [功能] 关键字a的列表框增加内容

;;133.1 [功能] 旋转一个点

;;133.2 [功能] 缩放一个点

;;134.1 [功能] 返回文件名(带扩展名) (反findfile)

;;134.2 [功能] 去文件名扩展,比如去掉.exe

;;134.3 [功能] 分割文件名为三部分

;;135 [功能] p1是否在p2 p3线上

;;136 [功能] 亮显选择集或对象(夹点不显示) 函数

;;137.1 [功能] 获得图形中倒数第二个图元的函数

;;137.2 [功能] 图中最后图元Find True last entity

;;138.1 [功能] 读取指定文件中指定行的内容

;;138.2 [功能] 返回文件行数量

;;138.3 [功能] 读取文件并按行将文件转换为表

;;139 [功能] 用 [选择集/obj表] 做成一个组

;;140 [功能] 加载幻灯片

;;141 [功能] 点表排序

;;142 [功能] 选择集相减 By 自贡黄明儒

;;143.1 [功能]选择集SS排序->图元列表 By 自贡黄明儒

;;143.2 [功能]选择集排序->选择集 By 自贡黄明儒

;;144.1 [功能] 读取系统剪贴板中字符串

;;144.2 [功能] 向系统剪贴板写入文字

;;145 [功能] 求多段线上的弧段(圆或圆弧也有效)的圆心

;;146 [功能] 质心

;;147.1 [功能] 自定义max By yjr111

;;147.2 [功能] 自定义max By G版

;;148.1 [功能] 根据点表画多段线

;;148.2 [功能] 根据点表画多段线

;;148.3 [功能] 根据点表画样条曲线

;;149.1 [功能] 进程显示

;;149.2 [功能] 进程显示

;;150 [功能] 生成无名组

;;151 [功能] 曲线选集长度求和--陌生人.2004.1

;;152 [功能] 局部更新[code="lisp]

;;1 [功能] 检查加载vlisp扩展

(vl-Load-COM)

;;2  常数(lisp编辑器在输出局部变量时,带*的会排在前面.Caoyin这样写很有道理)

(setq *En2Obj*  vlax-ename->vla-object

*Obj2En*  vlax-vla-object->ename

*2PI*     (* PI 2)

*0.5PI*   (/ PI 2)

*0.25PI*  (/ PI 4)

;;常用VLA对象、集合

*ACAD*  (vlax-get-acad-object)

*DOC*   (vla-get-ActiveDocument *ACAD*)

*DOCS*  (vla-get-Documents *ACAD*)

*MS*    (vla-get-modelSpace *DOC*)

*PS*    (vla-get-paperSpace *DOC*)

*BLKS*  (vla-get-Blocks *DOC*)

*LAYS*  (vla-get-Layers *DOC*)

*LTS*   (vla-get-Linetypes *DOC*)

*STS*   (vla-get-TextStyles *DOC*)

*GRPS*  (vla-get-groups *DOC*)

*DIMS*  (vla-get-DimStyles *DOC*)

*LOUTS* (vla-get-Layouts *DOC*)

*VPS*   (vla-get-Viewports *DOC*)

*VS*    (vla-get-Views *DOC*)

*DICS*  (vla-get-Dictionaries *DOC*)

;;常用的几个外部接口对象

*FSO*   (vlax-get-or-create-object "Scripting.FileSystemObject")

*WSH*   (vlax-get-or-create-object "wscript.shell")

*SHELL* (vlax-get-or-create-object "Shell.Application")

*SCR*   (vlax-get-or-create-object "ScriptControl")

*WBEM*  (vlax-get-or-create-object "WbemScripting.SWbemLocator")

)

;;3 [功能] 返回活动空间vla对象

(defun MJ:ActiveSpace()

(if (= 1 (vlax-get-Property DOC* 'ActiveSpace));模型1,布局0

*MS*

*PS*

)

)

;;4.1 [功能] 返回当前活动空间名称("Model" or "Paper")

(defun MJ:ActiveSpace-Name ()

(if (= 1 (vla-get-ActiveSpace *DOC*))

"Model"

"Paper"

)

)

;;4.2 [功能] 返回空间名称,如"Model"或者"Layout1"...

(defun MJ:ActiveSpace1 ()

(vla-get-Name (vla-get-ActiveLayout *DOC*))

)

;;5 [功能] 返回Preferences vla对象

(defun MJ:AcadPrefs ()

(vlax-Get-Property *ACAD* 'Preferences)

)

;;6 [功能] 返回指定引用的属性

;;TabName:Application,Display,Drafting,Files,OpenSave,Output,Profiles,Selection,System,User

;; 示例   (MJ:GetPrefKey 'Files 'SupportPath)  获取支持文件路径

(defun MJ:GetPrefKey (TabName KeyName)

(vlax-get-property

(vlax-get-property

(MJ:AcadPrefs)

TabName

)

KeyName

)

)

;;7 [功能] 更改引用设置

;; 示例 (MJ:SetPrefKey "OpenSave" "IncrementalSavePercent" 0)

(defun MJ:SetPrefKey (TabName KeyName NewVal)

(vlax-put-property

(vlax-get-property

(MJ:AcadPrefs)

TabName

)

KeyName

NewVal

)

)

;;8 [功能] 返回 acad对象的属性

;;PropName:ActiveDocument,Application,Caption,Documents,FullName,Height,HWND,LocaleId,MenuBar,

;;MenuGroups,Name,Path,Preferences,StatusId,VBE,Version,Visible,Width,WindowLeft,WindowState,WindowTop

;; 示例 (MJ:AcadProp 'FullName)

(defun MJ:AcadProp (PropName)

(vlax-get-property *ACAD* PropName)

)

;;9 [功能] 对象名称

;; 示例 (MJ:Name *ACAD*) returns "AutoCAD"

;; 示例 (MJ:Name *MS*)返回"*Model_Space"

(defun MJ:Name (obj)

(if (vlax-property-available-p obj 'Name)

(vlax-get-property obj 'Name)

""

)

)

;;10.1 [功能] 打开文件名列表

;;verbose:T,nil

;; 示例: (MJ:DocsList T)

;; NOTES: Verbose为T时full path+filename ; nil时filenames

(defun MJ:DocsList (verbose / docname out)

(vlax-for each *DOCS*

(if verbose

(setq docname

(strcat

(vlax-get-property each 'Path)

"\"

(MJ:Name each)

)

)

(setq docname (MJ:Name each))

)

(setq out (cons docname out))

)

(reverse out)

)

;;10.2 [功能] (打开文件 未打开文件)列表

;;示例(car (MJ:DocsList1 DwgFileLst))取得列表文件中打开的文件列表

(defun MJ:DocsList1 (DwgFileLst / OPENFILELST)

(setq OpenFileLst (vl-remove-if 'VL-FILE-SYSTIME DwgFileLst)

DwgFileLst  (vl-remove-if-not 'VL-FILE-SYSTIME DwgFileLst)

)

(if DwgFileLst

(setq DwgFileLst (vl-sort DwgFileLst '

)

(if OpenFileLst

(setq OpenFileLst (vl-sort OpenFileLst '

)

(list OpenFileLst DwgFileLst)

)

;;11 [功能] 查询对象属性和方法

(defun C:HHDump (/ ent)

(while (setq ent (entsel))

(vlax-Dump-Object

(vlax-Ename->Vla-Object (car ent))

)

)

(princ)

)

;;12 [功能] 设置 Qleader 命令“引线设置”对话框的相关参数

;;注:引线的箭头跟DIMSTYLE使用同一设置,可以直接修改DIMLDRBLK系统变量

;;2011.5.5 by caoyin

(defun QleaderSet (/ DICEN)

(setq DICEN (namedobjdict));(enget DICEN)可查看内容(3 . 词典)

(if (dictsearch DICEN "AcadDim")

(dictremove DICEN "AcadDim")

)

(dictadd DICEN

"AcadDim"

(entmakex '((0 . "XRECORD")

(100 . "AcDbXrecord")

(280 . 1)

(90 . 990106)

(3 . "");;-----引线和箭头-〉箭头[用户箭头的缺省块名,""则表示未设置]

(60 . 0);;-----注释-〉注释类型[0,1,2,3,4]

(61 . 0);;-----注释-〉重复使用注释[0,1,2]

(62 . 1);;-----附着-〉文字在右边[0,1,2,3,4]

(63 . 1);;-----附着-〉文字在左边[0,1,2,3,4]

(64 . 0);;-----附着-〉最后一行加下划线[0,1]

(65 . 0);;-----引线和箭头-〉引线[0,1]

(66 . 0);;-----引线和箭头-〉点数-〉无限制[0,1]

(67 . 3);;-----引线和箭头-〉点数[任意正整数]

(68 . 1);;-----注释-〉多行文字选项-〉提示输入宽度[0,1]

(69 . 0);;-----注释-〉多行文字选项-〉始终左对齐[0,1]

(70 . 0);;-----引线和箭头-〉角度约束->第一段[0,1,2,3,4,5]

(71 . 0);;-----引线和箭头-〉角度约束->第二段[0,1,2,3,4,5]

(72 . 0);;-----注释-〉多行文字选项-〉文字边框[0,1]

(40 . 0.0)

(170 . 2);;----控制“引线设置”对话框的缺省选项卡[0,1,2]

;; (340 . 图元名)

;;-----当DXF组码60的值为3,且已经设定了块参照的块名,则340组码才会出现

;;-----格式为(340 . 上次使用块参照作为注释对象,实际插入的块实例的图元名)

)

)

)

)

;;13 [功能] 求点集中最远,最近点表   ;By 无痕

;:(最远两点 最近两点)

;;示例(MJ:lensort (while (setq pt(getpoint)) (setq plst (cons pt plst)))))

;;(((14857.8 -599.932 0.0) (26695.2 -3687.68 0.0)) ((15733.8 -3687.68 0.0) (15630.7 -3842.07 0.0)))

(defun MJ:lensort (ptlst / pt d maxd mind maxl minl)

(setq minl (list (car ptlst) (cadr ptlst))

maxd 0

mind (apply 'distance minl)

)

(while (setq pt    (car ptlst)

ptlst (cdr ptlst)

)

(foreach n ptlst

(setq d (distance n pt))

(cond ((< maxd d)

(setq maxd d

maxl (list n pt)

)

)

((> mind d)

(setq mind d

minl (list n pt)

)

)

)

)

)

(list maxl minl)

)

;;14.1 [功能] 返回指定集合的数量

;; 示例: (MJ:CollectionCount (MJ:GetLayers)))

(defun MJ:CollectionCount (Collection)

(vlax-get-property Collection 'Count)

)

;;14.2 [功能] 返回文档集合的数量

(defun MJ:DocsCount ()

(vlax-get-property *DOCS* 'Count)

)

;;15 [功能] 返回文档指定对象的属性

;;Cname: Active,ActiveDimStyle,ActiveLayer,ActiveLayout,ActiveLinetype,ActivePViewport,ActiveSelectionSet,

;;ActiveSpace,ActiveTextStyle,ActiveUCS,ActiveViewport,Application,Blocks,Database,Dictionaries,DimStyles,

;;ElevationModelSpace,ElevationPaperSpace,FileDependencies,FullName,Groups,Height,HWND,Layers,Layouts,Limits,

;;Linetypes,ModelSpace,MSpace, Name,ObjectSnapMode,PaperSpace,Path,PickfirstSelectionSet,Plot,PlotConfigurations,

;;Preferences,ReadOnly,RegisteredApplications,Saved,SelectionSets,SummaryInfo,TextStyles,UserCoordinateSystems,Utility,

;;Viewports,Views,Width,WindowState,WindowTitle

;;示例 (MJ:DocCollection "WindowState")

(defun MJ:DocCollection (Cname)

(vlax-Get-Property *DOC* Cname)

)

;;15.1 [功能] 图层集合

(defun MJ:GetLayers () (vlax-Get-Property *DOC* 'Layers))

;;15.2 [功能] 线型集合

(defun MJ:GetLtypes () (vlax-Get-Property *DOC* 'Linetypes))

;;15.3 [功能] 文字样式集合

(defun MJ:GetTextStyles () (vlax-Get-Property *DOC* 'TextStyles))

;;15.4 [功能] 尺寸样式集合

(defun MJ:GetDimStyles () (vlax-Get-Property *DOC* 'DimStyles))

;;15.5 [功能] 布局集合

(defun MJ:GetLayouts () (vlax-Get-Property *DOC* 'Layouts))

;;15.6 [功能] 词典集合

(defun MJ:GetDictionaries () (vlax-Get-Property *DOC* 'Dictionaries))

;;15.7 [功能] 块集合(不是我们平时绘图时所说的块)

(defun MJ:GetBlocks () (vlax-Get-Property *DOC* 'Blocks))

;;15.8 [功能] 打印配置集合

(defun MJ:GetPlotConfigs ()(vlax-Get-Property *DOC* 'PlotConfigurations))

;;15.9 [功能] 视图集合

(defun MJ:GetViews () (vlax-Get-Property *DOC* 'View

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值