CAD lisp程序注释解析
程序如下,用来绘制给定点之间的高压线(defunc:try(/p)(setqp(getpoint"frompoint:"))(command"PLINE")(whilep...
程序如下,用来绘制给定点之间的高压线
(defun c:try (/ p)
(setq p (getpoint "from point: "))
(command "PLINE")
(while p
(command p)
(setq p (getpoint "to point: "))
)
(command)
) 展开
(defun c:try (/ p)
(setq p (getpoint "from point: "))
(command "PLINE")
(while p
(command p)
(setq p (getpoint "to point: "))
)
(command)
) 展开
3个回答
展开全部
(defun c:try( / p);定义命令行命令“try”,定义局部变量“p”
(setq p (getpoint "from point: "));利用交互获得一个点,将该点坐标存入变量“p”当中
(command "PLINE");利用命令行启动“PLINE”多段线命令,
(while p;循环开始,当p不为空(即交互时一直给出下一点)时,无限循环。
(command p);将p的值(用户给出或选定的坐标点)输入至命令行,做为“PLINE”命令的参数。
(setq p (getpoint "to point: "));获取下一点坐标,重新存入变量p中
)
(command);等同于按下空格或回车键,用于结束“PLINE”命令
)
(setq p (getpoint "from point: "));利用交互获得一个点,将该点坐标存入变量“p”当中
(command "PLINE");利用命令行启动“PLINE”多段线命令,
(while p;循环开始,当p不为空(即交互时一直给出下一点)时,无限循环。
(command p);将p的值(用户给出或选定的坐标点)输入至命令行,做为“PLINE”命令的参数。
(setq p (getpoint "to point: "));获取下一点坐标,重新存入变量p中
)
(command);等同于按下空格或回车键,用于结束“PLINE”命令
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
(defun c:try (/ p) ;; 定义命令 try 其中有一个参数p
(setq p (getpoint "from point: ")) ;;获得p值,根据一个提示 from point: 用户点击位置 获得点 p(包含坐标值)
(command "PLINE") ;; 调用命令 PLINE ,画线命令
(while p ;;循环语句,p 点不为空,即每次都点击一个位置点
(command p) ;;PLINE命令后的一个点,即画线命令后指定一个点进行画线
(setq p (getpoint "to point: ")) ;; 提示信息=to point: ,提醒用户选取画线到达点
)
(command);; 空命令退出
)
;;此lisp程序是注册一个命令try,实现根据用户连续点击坐标画线的功能,直到用户不再点击为止
(setq p (getpoint "from point: ")) ;;获得p值,根据一个提示 from point: 用户点击位置 获得点 p(包含坐标值)
(command "PLINE") ;; 调用命令 PLINE ,画线命令
(while p ;;循环语句,p 点不为空,即每次都点击一个位置点
(command p) ;;PLINE命令后的一个点,即画线命令后指定一个点进行画线
(setq p (getpoint "to point: ")) ;; 提示信息=to point: ,提醒用户选取画线到达点
)
(command);; 空命令退出
)
;;此lisp程序是注册一个命令try,实现根据用户连续点击坐标画线的功能,直到用户不再点击为止
更多追问追答
追答
这个线型符号在地形图上叫高压输电线,不是CAD自带的符号或线型,在所有的地形图编绘平台上都有这个符号或者线型,一般CASS或则其他自己基于CAD二次开发的平台上都是利用线和符号来绘制的,其分配为箭头和圆圈为一个块参照,箭头之间的连线为一个多段线,利用定制命令生成这个线型,如果已经定义了绘制命令,可以讲上述代码中的
(command "PLINE") ;; 调用命令 PLINE ,画线命令
PLINE 换为定制命令 ,但是实际操作中并不这样,一般定制命令都能直接绘制符号和线。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-06-01 · 知道合伙人互联网行家
zxg_zyr
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:1368
获赞数:7048
1982年1月毕业于北京钢铁学院,金属压力加工学士学位,长期从事CAD设计工作至今,能应用Autolisp语言编程。
向TA提问 私信TA
关注
展开全部
在AutoCAD中,有可以编程的工具语言AutoLISP。使用CAD的菜单“工具/AutoLISP/Visual AutoLISP编辑器”,可以使用AutoCAD自带的AutoLISP应用程序插件开发环境。在此开发界面中,对于每一行的程序代码,均可以以“;”分隔写上注释信息文字,以便提示开发者(每句)程序的作用、条件等,以备编制过程中调试、日后理解、借用复制、或改进修订之用。
如下例所示,是由三个语句组成的获取一个图元的点对数据表的程序段:
(setq a (entsel "\n请点取一个图元:")) ;从CAD屏幕上拾取一个需要观察其点对表的图元。
(setq b (car a)) ;获得了实体的图元名。
(setq c (entget b)) ;获得了该图元的点对表。
无论是在程序以.lsp直接运行时的临时编译过程中,还是预先进行编译的.vlx等文件中,执行的机器码中,均不包含这些注释文字信息,因此注释的存在及多少,不会影响程序的运行速度,也不会影响对内存的占用量。
如下例所示,是由三个语句组成的获取一个图元的点对数据表的程序段:
(setq a (entsel "\n请点取一个图元:")) ;从CAD屏幕上拾取一个需要观察其点对表的图元。
(setq b (car a)) ;获得了实体的图元名。
(setq c (entget b)) ;获得了该图元的点对表。
无论是在程序以.lsp直接运行时的临时编译过程中,还是预先进行编译的.vlx等文件中,执行的机器码中,均不包含这些注释文字信息,因此注释的存在及多少,不会影响程序的运行速度,也不会影响对内存的占用量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询