找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 841|回复: 10

[求助] [求助]:关于lisp的编程的一个问题

[复制链接]
发表于 2004-9-7 09:32:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我是室内设计绘图员,经常要画轴线,用重复年复制、夹点编辑或偏移都太麻烦,因为它们的距离都要累加,我的设想是这样的:
能不能编一程序,复制一轴线时,直接输入距离,就可以依次画出轴线。请高手帮忙!!!万分感谢!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-7 12:16:28 | 显示全部楼层
用专业的CAD软件吧。
都有轴线绘制、编辑功能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-8 10:44:47 | 显示全部楼层
最初由 它山之石 发布
[B]用专业的CAD软件吧。
都有轴线绘制、编辑功能。 [/B]


谢谢你的回复。主要是我没有那些专业软件。更重要的是现在我想学一学lisp编程。
请各位高手继续指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-9 14:43:02 | 显示全部楼层
去下载一些lisp书吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-9 17:31:33 | 显示全部楼层
实现你那样的功能用LISP其实不难。能具体告之吗,我帮你编一个。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-9 18:02:09 | 显示全部楼层
最初由 saltxf 发布
[B]实现你那样的功能用LISP其实不难。能具体告之吗,我帮你编一个。 [/B]


假设我画一根直线,然后想连续复制他,但cad提供复制命令需要累加值,我想只输入一个值,程序可以累加连续复制直线.谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-9 19:16:39 | 显示全部楼层
看我这个能否满足你的要求。

程序加载后,敲命令“PJHX”,程序提示你输入需要绘制的直线数量和直线之间的距离,然后再选择一个直线(这根直线是事先存在的,如果没有必须先绘制一根),右键确定后,在需要偏移的方向点击一下就行了。


(defun c:pjhx()
         (command "layer" "m" "jhx" "c" "yellow" "jhx" command)
         (command "layer" "s" "jhx" command)
         (setq xnum (getint "\n请输入线数: "))
         (if (= xnum nil)(setq xnum 0))
         (setq dnum (getreal "\n请输入线间距离: "))
         (if (= dnum nil)(setq dnum 0))
         (setq s (ssget))
         (setq s1 (ssname s 0))
         (command "change" s "" "p" "la" "jhx" "")
         (setq p (getpoint "\n请确定偏移方向: "))
         (setq cont 0)
         (while (< cont xnum)
                (setq data (entget s1))
                (setq pstart (assoc 10 data))
                (setq pstarty (nth 1 pstart))
                (setq pstartx (nth 2 pstart))
                (setq p1 (list pstarty pstartx))
                (if(= cont 0) (setq fx (angle p1 p)))
                (setq p (polar p1 fx dnum))
                (command "offset" dnum s1 p "")
                (setq s1 (entlast))
                (setq cont (+ cont 1))
          )   
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-9 20:37:49 | 显示全部楼层
在本版块用“连续拷贝”搜索,以前有人写过这样的程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-10 16:33:25 | 显示全部楼层
谨对楼上所给予我的帮助表示衷心的感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-22 15:13:34 | 显示全部楼层
试试这个程序,不知道是不是能够达到你的要求
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-22 15:45:11 | 显示全部楼层
斑主说得对。这种通用程序在论坛很多。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 11:53 , Processed in 0.192317 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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