LISP语言在CAD方面的运用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 结束语 通过以上一些肤浅的介绍, 只希望给新加入测绘行业的同行一 些 提 示 。 你 喜 欢 朝 阳 、晚 霞 吗 ? 美 的 东 西 总 是 存 在 的 , 就 看 你 怎 样 去 发 现 。 就 如 你 的 前 景 , 去 努 力 、去 实 践 , 就 会 美 好 。 参考文献 [1] 黎 新 懿 , 赵 景 亮 : 用 Visual LISP 开 发 AutoCAD2004 应 用 程 序 . 科 学 出 版 社 , 2003.
(0 . " LWPOLYLINE" )表 说 明 所 选 则 的 实 体 为 LWPOLYLINE 线 。 (下 转 63 页 )
- 57 -
科技论坛
中国高新技术企业
立数学模型, 有时即使建立了数学模型, 也难于获得数值解。这时, 模拟法则成为一种有效的工具。模拟法十分灵活, 且不受系统规模 限 制 , 它 可 以 详 细 模 拟 事 故 前 的 备 件 、发 电 和 输 电 停 运 及 运 行 中 的 实 际 问 题 , 但 耗 时 多 而 且 精 度 不 高 , 这 种 方 法 主 要 用 于 发 、输 电 组 合 系统及变电站的可靠性评估中。
3.2 文字的特性 下面再来看看说 明 所 选 则 的 实 体 在 DLSS 层 。 (6 . " X2 " )则 表 示 此 线 条 的 线 型 为 X2 , X2 为 用 户 定 义 的 线 型 。 (90 . 4 )说 明 此 线 有 4 个 端 点 。 (70 . 128 )表 明 此 线 没 有 封 闭 。 如 为 129 则 表 示 多 义 线 首 尾 相 连, 是严格闭合。 (43 . 0 .1 )显 示 此 线 的 宽 度 为 0 .1 米 。 (10 41 .3308 23 .3799 )则 给 出 了 端 点 的 坐 标 值 。依 次 下 去 分 别 为 各端点的坐标。 (- 3 (" SOUTH" (1000 . " 164100 " ))))表 示 此 实 体 的 扩 展 特 性 , 一 般为编程者的意图。 针对所提的第一个问题, 对比下面的等外公路特性。
该 实 体 为 JMD 层 上 的 TEXT 即 文 字 , 其 值 为 重 庆 市 , 字 体 高 度 为 3 .75 , 颜 色 为 6 号 , 旋 转 了 0 .261799 弧 度 , 倾 斜 了 0 .523599 弧 度 , 文 字 的 宽 度 与 高 度 的 比 是 1 .5 , 字 体 为 " 等 线 体 " 。 改 变 41 的 值 就 能 实 现 宽 高 比 的 修 改 。 改 变 70 、71 的 值 将 会 改 变 文 字 的 插 入 点 和 对 称 点 位 置 。这 些 特 性 都 是 可 以 替 换 的 , 通 过 循 环 处 理 , 按 你 的 要 求 替 换 相应特性值, 就能满足你的意愿。
)) ) (setq ss1 (ssget " X" (LIST (CONS 0 " TEXT" )))) 就 是 用 内 部 函 数 ssget 把 图 形 内 的 所 有 文 字 选 择 出 来 并 赋 予 给 变 量 名 ss1 ; " X" 是 选 择 函 数 的 多 种 选 择 方 式 中 的 全 部 选 择 模 式 ; (LIST (CONS 0 " TEXT" ))是 条 件 表 , TEXT 就 是 " 文 字 " 这 个 特 性 。 (setq SS1_shuliang (sslength ss1)) 用 sslength 函 数 统 计 选 择 集 ss1 中 文 字 的 数 量 , 并 把 数 量 赋 予 给 变 量 名 SS1_shuliang。 (setq aa1 (ssname ss1 (- ccc 1))) 用 ssname 函 数 读 取 ss1 中 的 最 后 一 个 实 体 并 赋 予 给 变 量 名 aa1 。 (setq kk1 (entget aa1 )) 用 entget 读 出 aa1 的 各 种 常 规 特 性 , 并 赋 予 给 变 量 名 KK1 。 (setq KK1 (subst (cons 41 1.0) (assoc 41 KK1) KK1)) 修 改 代 表 文 字 宽 高 比 的 属 性 值 , 即 41 号 属 性 的 值 为 现 在 要 求 的 1 .0 。 (entmod KK1 )可 以 理 解 成 确 定 修 改 。 通过以上简单几步, 再加上循环及程序名, 一个实用的小程序 就 完 成 了 。 在 南 方 CASS 成 图 系 统 中 如 果 要 求 文 字 宽 高 比 为 1 .0 , 而 实际操作中可能因为不小心改变了设置, 使得各种宽高比都有, 那 以上程序就可帮你一次修改好。 2.2 编辑了一个求随机数的函数 因为工作的需要, 根据计算机内用户消耗的时间值编辑了一个 求随机数的函数, 所生成的随机数无初值, 随机性教强。
1 引言 AUTOCAD 在 更 新 的 同 时 , AUTOLISP 也 附 在 一 起 相 应 发 展 着 , 对于一个测绘战线上的测绘员工, 为了与科技同步, 应了解数字图 的 相 应 符 号 , 符 号 的 数 字 表 现 形 式 , 即 点 、线 、面 等 实 体 的 表 示 。 从 我 1994 年 开 始 进 行 数 字 测 绘 以 来 , 整 天 是 白 天 山 川 、河 流 , 晚 上 直 线 、折 线 。直 到 2004 年 , 才 逐 渐 开 始 寻 求 出 图 形 背 后 的 关 系 。于 是 独 立 编 程 解 决 了 厦 门 建 库 数 据 源 转 换 以 及 2007 年 璧 山 测 区 编 码 及 菜单扩展。 2 AUTOLIS P 常 用 命 令 举 例 2.1 修改各种文字宽高比 学习任何一种编程语言, 不必首先学精通英语, 也不必强记住 此 语 言 的 各 种 格 式 要 求 、 函 数 功 能 , 此 处 你 只 要 了 解 setq 、ssget 、 sslength 、ssname 、entget 、subst 、entmod 几 个 函 数 的 功 能 就 可 以 编 辑 出 一个短小而十分管用的程序。
LISP 语 言 在 CAD 方 面 的 运 用
科技论坛
中国高新技术企业
文 / 谢安全
【摘 要 】 选 用 简 单 易 学 AUTO CAD 的 内 部 编 程 语 言 AUTO LISP 来 开 发 工 作 中 的 一 些 实 用 程 序 , 介 绍 了 一 些最基础的内部函数和实体常用特性, 力求更广泛地推动数字测绘发展。 【关 键 词 】 AUTOLISP 实 体 特 性 修 改
3.3 混合法 混合法是蒙特卡罗模拟法与解析法的有机结合。其基本思想 是用模拟法随机模拟系统的状态转移过程, 而用解析法确定系统在 模拟到的各状态中的平均持续时间, 并以此代替持续时间的抽样 值。混合法可以提高模拟效率, 减少模拟统计量的方差。 3.4 人工智能方法 近年来, 人们尝试将人工智能的方法引入到可靠性分析领域。 出现了所谓的人工神经网络评价可靠性的方法。它的核心是三层前
(SETQ I (STRLEN XR1 )) 用 strlen 函 数 计 算 字 符 变 量 XR1 的 值 的长度, 并把长度值赋予给变量 I。
(SETQ XR4 " 0 ." )把 常 量 " 0 ." 赋 予 给 变 量 XR4 。 (REPEAT (- (STRLEN XR1) 5)重 复 处 理 I - 5 次 。 因 为 XR1 后 有 无 用 字 符 串 " .0000 " 。 (SETQ XR31 (SUBSTR XR1 (- I 5) 1)) 取 XR1 的 倒 数 第 6 个 字 符 并 赋 予 给 变 量 XR31 。 (SETQ XR4 (STRCAT XR4 XR31))把 XR31 的值追加到 XR4 后面。 (SETQ I (- I 1) ) ) 通 过 以 上 循 环 , 把 XR1 的 去 掉 " .0000 " 后 的 各 字 符 反 转 后 赋 予 给 变 量 XR4 。 (SETQ XR5 (ATOF XR4 )) 用 ATOF 函 数 把 XR4 的 字 符 值 转 换 为 一 个 小 于 1 的 小 数 , 再 用 SETQ 把 这 小 数 值 赋 予 给 变 量 XR5 。以 后 就 可 以 调 用 自 己 编 辑 的 一 个 函 数 (XRAND)了 。 3 图形特性简要说明 3.1 大车路的全部特性 命令可以在实际操作中掌握, 针对问题才能不断提高, 如想把所 有 大 车 路 改 变 成 等 外 公 路 , 或 把 所 有 文 字 的 宽 高 比 改 为 1 。为 此 就 得 了 解 形 成 图 形 的 点 、线 、面 、既 CAD 的 实 体 的 各 种 特 性 。 以 下 是 大 车 路的全部特性:
(作者单位系河南省许昌学院电信学院)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上 接 57 页 ) AutoCAD 的 常 用 实 体 如 下 表 1 实体举例
(6 . " Continuous" ) 、(39 . 100.0) 和 (- 3 (" SOUTH" (1000 . " 163300 " )))3 个 表 的 值 被 改 变 了 , 如 果 只 是 表 面 看 起 来 象 等 外 公 路 , 就 只 需 要 一 条 语 句 (setq KK1 (subst (cons 6 " Continuous" ) (assoc 6 KK1 ) KK1 ))。 为 了 与 采 用 程 序 绘 制 的 一 样 就 得 改 - 3 这 个 扩 展 特 性 。 而 39 号 特 性 则 是 额 外 增 加 的 , 可 以 反 向 改 回 原 样 , 而 又 不 会 改 变 直 接采用菜单生成的等外公路。当然对于三维图形, 就最好不去修改 39 号 特 性 , 而 是 去 增 加 一 个 扩 展 特 性 。
(SETQ XR1 (RTOS(FIX(* (getvar " tdusrtimer" ) 10000000000)))) 用 getvar 函 数 读 取 内 部 数 字 变 量 tdusrtimer 的 值 , 扩 大 后 用 数 字 计 算 函 数 FIX 取 整 , 用 数 据 类 型 转 换 函 数 RTOS 把 数 字 常 量 转 换 为 字 符 常 量 , 再 赋 予 给 变 量 XR1 。
向传递网络和反向传播学习法则。神经网络方法的主要优点是可以 得到很高的精度, 它还可以处理由于过负荷或故障引起的系统结构 改变和多个断路器同时跳开的问题。但这种方法对历史数据要求较 高, 能够处理的系统规模也有限。
4 、结 语 本 文 主 要 对 电 力 系 统 可 靠 性 的 研 究 现 状 、意 义 和 任 务 、特 点 进 行 了分析, 并对研究主要采用的方法进行了简单的探讨, 希望对今后 相关领域的研究提供一些参考之处。 参考文献 [1] 郭永基著, 电力系统可靠性分析, 北京: 清华大学出版社, 2003.12 [2]姚 李 孝 , 彭 金 宁 , 伍 利 等 , 复 杂 配 电 系 统 的 可 靠 性 评 估 方 法 介 绍 , 西 安 理 工 大 学 学 报 , 2004, 20(1), 44 ̄48
(作者单位系国家测绘局重庆测绘院)
- 63 -
(0 . " LWPOLYLINE" )表 说 明 所 选 则 的 实 体 为 LWPOLYLINE 线 。 (下 转 63 页 )
- 57 -
科技论坛
中国高新技术企业
立数学模型, 有时即使建立了数学模型, 也难于获得数值解。这时, 模拟法则成为一种有效的工具。模拟法十分灵活, 且不受系统规模 限 制 , 它 可 以 详 细 模 拟 事 故 前 的 备 件 、发 电 和 输 电 停 运 及 运 行 中 的 实 际 问 题 , 但 耗 时 多 而 且 精 度 不 高 , 这 种 方 法 主 要 用 于 发 、输 电 组 合 系统及变电站的可靠性评估中。
3.2 文字的特性 下面再来看看说 明 所 选 则 的 实 体 在 DLSS 层 。 (6 . " X2 " )则 表 示 此 线 条 的 线 型 为 X2 , X2 为 用 户 定 义 的 线 型 。 (90 . 4 )说 明 此 线 有 4 个 端 点 。 (70 . 128 )表 明 此 线 没 有 封 闭 。 如 为 129 则 表 示 多 义 线 首 尾 相 连, 是严格闭合。 (43 . 0 .1 )显 示 此 线 的 宽 度 为 0 .1 米 。 (10 41 .3308 23 .3799 )则 给 出 了 端 点 的 坐 标 值 。依 次 下 去 分 别 为 各端点的坐标。 (- 3 (" SOUTH" (1000 . " 164100 " ))))表 示 此 实 体 的 扩 展 特 性 , 一 般为编程者的意图。 针对所提的第一个问题, 对比下面的等外公路特性。
该 实 体 为 JMD 层 上 的 TEXT 即 文 字 , 其 值 为 重 庆 市 , 字 体 高 度 为 3 .75 , 颜 色 为 6 号 , 旋 转 了 0 .261799 弧 度 , 倾 斜 了 0 .523599 弧 度 , 文 字 的 宽 度 与 高 度 的 比 是 1 .5 , 字 体 为 " 等 线 体 " 。 改 变 41 的 值 就 能 实 现 宽 高 比 的 修 改 。 改 变 70 、71 的 值 将 会 改 变 文 字 的 插 入 点 和 对 称 点 位 置 。这 些 特 性 都 是 可 以 替 换 的 , 通 过 循 环 处 理 , 按 你 的 要 求 替 换 相应特性值, 就能满足你的意愿。
)) ) (setq ss1 (ssget " X" (LIST (CONS 0 " TEXT" )))) 就 是 用 内 部 函 数 ssget 把 图 形 内 的 所 有 文 字 选 择 出 来 并 赋 予 给 变 量 名 ss1 ; " X" 是 选 择 函 数 的 多 种 选 择 方 式 中 的 全 部 选 择 模 式 ; (LIST (CONS 0 " TEXT" ))是 条 件 表 , TEXT 就 是 " 文 字 " 这 个 特 性 。 (setq SS1_shuliang (sslength ss1)) 用 sslength 函 数 统 计 选 择 集 ss1 中 文 字 的 数 量 , 并 把 数 量 赋 予 给 变 量 名 SS1_shuliang。 (setq aa1 (ssname ss1 (- ccc 1))) 用 ssname 函 数 读 取 ss1 中 的 最 后 一 个 实 体 并 赋 予 给 变 量 名 aa1 。 (setq kk1 (entget aa1 )) 用 entget 读 出 aa1 的 各 种 常 规 特 性 , 并 赋 予 给 变 量 名 KK1 。 (setq KK1 (subst (cons 41 1.0) (assoc 41 KK1) KK1)) 修 改 代 表 文 字 宽 高 比 的 属 性 值 , 即 41 号 属 性 的 值 为 现 在 要 求 的 1 .0 。 (entmod KK1 )可 以 理 解 成 确 定 修 改 。 通过以上简单几步, 再加上循环及程序名, 一个实用的小程序 就 完 成 了 。 在 南 方 CASS 成 图 系 统 中 如 果 要 求 文 字 宽 高 比 为 1 .0 , 而 实际操作中可能因为不小心改变了设置, 使得各种宽高比都有, 那 以上程序就可帮你一次修改好。 2.2 编辑了一个求随机数的函数 因为工作的需要, 根据计算机内用户消耗的时间值编辑了一个 求随机数的函数, 所生成的随机数无初值, 随机性教强。
1 引言 AUTOCAD 在 更 新 的 同 时 , AUTOLISP 也 附 在 一 起 相 应 发 展 着 , 对于一个测绘战线上的测绘员工, 为了与科技同步, 应了解数字图 的 相 应 符 号 , 符 号 的 数 字 表 现 形 式 , 即 点 、线 、面 等 实 体 的 表 示 。 从 我 1994 年 开 始 进 行 数 字 测 绘 以 来 , 整 天 是 白 天 山 川 、河 流 , 晚 上 直 线 、折 线 。直 到 2004 年 , 才 逐 渐 开 始 寻 求 出 图 形 背 后 的 关 系 。于 是 独 立 编 程 解 决 了 厦 门 建 库 数 据 源 转 换 以 及 2007 年 璧 山 测 区 编 码 及 菜单扩展。 2 AUTOLIS P 常 用 命 令 举 例 2.1 修改各种文字宽高比 学习任何一种编程语言, 不必首先学精通英语, 也不必强记住 此 语 言 的 各 种 格 式 要 求 、 函 数 功 能 , 此 处 你 只 要 了 解 setq 、ssget 、 sslength 、ssname 、entget 、subst 、entmod 几 个 函 数 的 功 能 就 可 以 编 辑 出 一个短小而十分管用的程序。
LISP 语 言 在 CAD 方 面 的 运 用
科技论坛
中国高新技术企业
文 / 谢安全
【摘 要 】 选 用 简 单 易 学 AUTO CAD 的 内 部 编 程 语 言 AUTO LISP 来 开 发 工 作 中 的 一 些 实 用 程 序 , 介 绍 了 一 些最基础的内部函数和实体常用特性, 力求更广泛地推动数字测绘发展。 【关 键 词 】 AUTOLISP 实 体 特 性 修 改
3.3 混合法 混合法是蒙特卡罗模拟法与解析法的有机结合。其基本思想 是用模拟法随机模拟系统的状态转移过程, 而用解析法确定系统在 模拟到的各状态中的平均持续时间, 并以此代替持续时间的抽样 值。混合法可以提高模拟效率, 减少模拟统计量的方差。 3.4 人工智能方法 近年来, 人们尝试将人工智能的方法引入到可靠性分析领域。 出现了所谓的人工神经网络评价可靠性的方法。它的核心是三层前
(SETQ I (STRLEN XR1 )) 用 strlen 函 数 计 算 字 符 变 量 XR1 的 值 的长度, 并把长度值赋予给变量 I。
(SETQ XR4 " 0 ." )把 常 量 " 0 ." 赋 予 给 变 量 XR4 。 (REPEAT (- (STRLEN XR1) 5)重 复 处 理 I - 5 次 。 因 为 XR1 后 有 无 用 字 符 串 " .0000 " 。 (SETQ XR31 (SUBSTR XR1 (- I 5) 1)) 取 XR1 的 倒 数 第 6 个 字 符 并 赋 予 给 变 量 XR31 。 (SETQ XR4 (STRCAT XR4 XR31))把 XR31 的值追加到 XR4 后面。 (SETQ I (- I 1) ) ) 通 过 以 上 循 环 , 把 XR1 的 去 掉 " .0000 " 后 的 各 字 符 反 转 后 赋 予 给 变 量 XR4 。 (SETQ XR5 (ATOF XR4 )) 用 ATOF 函 数 把 XR4 的 字 符 值 转 换 为 一 个 小 于 1 的 小 数 , 再 用 SETQ 把 这 小 数 值 赋 予 给 变 量 XR5 。以 后 就 可 以 调 用 自 己 编 辑 的 一 个 函 数 (XRAND)了 。 3 图形特性简要说明 3.1 大车路的全部特性 命令可以在实际操作中掌握, 针对问题才能不断提高, 如想把所 有 大 车 路 改 变 成 等 外 公 路 , 或 把 所 有 文 字 的 宽 高 比 改 为 1 。为 此 就 得 了 解 形 成 图 形 的 点 、线 、面 、既 CAD 的 实 体 的 各 种 特 性 。 以 下 是 大 车 路的全部特性:
(作者单位系河南省许昌学院电信学院)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上 接 57 页 ) AutoCAD 的 常 用 实 体 如 下 表 1 实体举例
(6 . " Continuous" ) 、(39 . 100.0) 和 (- 3 (" SOUTH" (1000 . " 163300 " )))3 个 表 的 值 被 改 变 了 , 如 果 只 是 表 面 看 起 来 象 等 外 公 路 , 就 只 需 要 一 条 语 句 (setq KK1 (subst (cons 6 " Continuous" ) (assoc 6 KK1 ) KK1 ))。 为 了 与 采 用 程 序 绘 制 的 一 样 就 得 改 - 3 这 个 扩 展 特 性 。 而 39 号 特 性 则 是 额 外 增 加 的 , 可 以 反 向 改 回 原 样 , 而 又 不 会 改 变 直 接采用菜单生成的等外公路。当然对于三维图形, 就最好不去修改 39 号 特 性 , 而 是 去 增 加 一 个 扩 展 特 性 。
(SETQ XR1 (RTOS(FIX(* (getvar " tdusrtimer" ) 10000000000)))) 用 getvar 函 数 读 取 内 部 数 字 变 量 tdusrtimer 的 值 , 扩 大 后 用 数 字 计 算 函 数 FIX 取 整 , 用 数 据 类 型 转 换 函 数 RTOS 把 数 字 常 量 转 换 为 字 符 常 量 , 再 赋 予 给 变 量 XR1 。
向传递网络和反向传播学习法则。神经网络方法的主要优点是可以 得到很高的精度, 它还可以处理由于过负荷或故障引起的系统结构 改变和多个断路器同时跳开的问题。但这种方法对历史数据要求较 高, 能够处理的系统规模也有限。
4 、结 语 本 文 主 要 对 电 力 系 统 可 靠 性 的 研 究 现 状 、意 义 和 任 务 、特 点 进 行 了分析, 并对研究主要采用的方法进行了简单的探讨, 希望对今后 相关领域的研究提供一些参考之处。 参考文献 [1] 郭永基著, 电力系统可靠性分析, 北京: 清华大学出版社, 2003.12 [2]姚 李 孝 , 彭 金 宁 , 伍 利 等 , 复 杂 配 电 系 统 的 可 靠 性 评 估 方 法 介 绍 , 西 安 理 工 大 学 学 报 , 2004, 20(1), 44 ̄48
(作者单位系国家测绘局重庆测绘院)
- 63 -