找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5488|回复: 10

[LISP函数]:求 双向偏移 的LISP

[复制链接]
发表于 2007-8-23 22:12:30 | 显示全部楼层 |阅读模式

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

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

×
最近下载了新的 “贱人工具箱 2007 第三版本” ,对于里面的命令 有大部分都可以通过CAD或天正软件搞定。  其中有  双向偏移、SPL转PL, 比较有欣赏。 “贱人工具箱 2007 第三版本”有一个很失败的就是,居然要用掉 Y  命令启动。对于这点,希望能用那些比较偏的命令启动为好, 比如 数字1 左边,TAB键 上面的“ ` ” 比较好。各位认同否。 我求 双向偏移 LISP 原编码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-9-1 20:55:36 | 显示全部楼层
很多年前在一本书上看的,自己改造了一下用于画墙线,好几年不用了,你试试吧。
(setvar "cmdecho" 0)
(defun c:oo(/ os dis e pt1 pt2 a)
   (setq os(getvar "osmode"))
   (if(= w nil)(setq w 200))
   (princ "\n请输入墙宽:<")
   (princ w)
   (princ ">")
   (setq dis(getdist))
   (if (= dis nil)(setq dis w))
   (setq w dis)
   (setq dis(/ dis 2))
   (setq e 1)
   (while e
     (setvar"osmode" 512)
     (setq pt1 (getpoint "\n请点取变双墙的轴线:"))
     (setq pt2 (polar pt1 3.12414 1))
     (setq pt3 (polar pt1 3.12414 -1))
     (setvar"osmode"0)
     (command "offset" dis pt1 pt2 "")
     (command "chprop" "l" "" "la" "wall" "")
     (command "erase" "l" "")
     (command "offset" dis pt1 pt3 "")
     (command "oops")
     (command "chprop" "l" "" "la" "wall" "")
     (setq a (getstring "\n按回车键继续, 按 E 结束"))
     (if (=(strcase a) "E")(setq e nil))
    )
     (setvar "osmode" os)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2008-6-20 23:12:25 | 显示全部楼层
(defun c:cf( )
(progn
(vl-load-com)
(setq k 0)
(setq cls (getvar "clayer"))
(setq clp (getvar "osmode"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq a (getreal "\n输入单边偏移距离:") );如直接回车取上次值
(if (null a) (setq a (getvar "offsetdist")));
(setq aa (ssget ))
(setq f (sslength aa))
(while (< k f)
(setq ent1 (ssname aa k))
(setq VL1 (vlax-ename->vla-object ent1))
(setq ptst (vlax-get VL1 'startpoint)) ;求端点
(setq pten (vlax-get VL1 'endpoint)) ;求端点
(setq ptst (list (car ptst) (nth 1 ptst)))
(command "OFFSET" a ent1 ptst "" )
(setq bb (entlast))
(command "MIRROR" bb "" ptst pten "n" )
(command"erase" ent1 "" ) ;删除原直线,如想保留删去此行
(setq k (1+ k))
)
(setvar "osmode" clp)
(setvar "cmdecho" 1 )
)
(princ)
)
(prompt "<<两侧偏移>>启动命令:cf")
(princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

发表于 2008-12-15 21:26:37 | 显示全部楼层
双线偏移的程序,输入偏移距离的时候直接输入整个偏移距离比较好;而不是输入单边的偏移距离……

双线偏移的程序,可不可以加上“偏移到点击(选择)层”这样的功能哪?
比如我需要双向偏移的线在“0”层,我想偏移后的线在“1”层(并且图纸中已经有“1”层的图元存在),我输入完偏移数据后点击任意属于“1”层图元,偏移的线条就到“1”层;如果我点击任意“2”层的图元,偏移后的物体就到“2”层……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-8-28 14:00:54 | 显示全部楼层
楼主,怎么只有一边偏移呢?哪里出了问题?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 16:49 , Processed in 0.512078 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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