QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 6034|回复: 10
收起左侧

[已解决] LISP如何调用CAD命令

[复制链接]
发表于 2008-5-15 20:46:44 | 显示全部楼层 |阅读模式 来自: 中国山西太原

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
请教:* U' v  J. L  k* o! L# @! u: p$ P
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解. U' y2 K; [! u! v: m

; ~( j( O/ V$ a9 A8 K. c[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚
4 @8 z7 |3 ~+ y5 ~6 l8 c8 \如:(command “mirror”  下面该如何?)
发表于 2008-5-15 21:08:58 | 显示全部楼层 来自: 中国浙江绍兴
先设定一个选择集A:(command "mirror" A "" 第一点 第二点 Y或N),请注意引号是英文状态下的。
发表于 2008-5-15 21:13:32 | 显示全部楼层 来自: 中国辽宁鞍山
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
 楼主| 发表于 2008-5-15 21:15:08 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.
7 Z" C& p, k* E% y) N5 e8 D5 }+ y& B+ Z' i! `* X0 V+ t
我的意思是 命令后的内容,/ s4 O: J7 R3 x' C9 ?1 z" a6 y
如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif3 Y8 W! S$ N  ]' }9 v# I) D
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

' R* N) H5 C4 Q1 F' f' z# s2 k* v" Y6 r3 u
4 v$ H- j, T6 n! a
想知道对应每重命令后参数的具体内容
" y; g' D: x2 M
" F/ U+ c3 D* a" ]6 z1 r+ `1 m! Q- t
command " _extend"   格式内容
5 D) \/ S# g( B0 K; pcommand "_fillet " XXXXXX0 ?1 }$ b4 n; G+ D1 Y
command  倒角  XXXXXXX
+ r% R9 K# A  w# }0 m# ^+ R' S* |5 E2 l6 k- x- u# B% m6 U
等等
8 Y+ P- X0 o: S
6 n: l& T0 L" |. ~3 H9 r7 o& ]( ?[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!* g3 Y3 T& v; ^  O! _$ {' f
这个是圆角的程序. b( e* N+ q2 C8 e0 Z) g
(defun c:aaaa()
8 _6 Z0 J7 ]2 P' {8 w  (setq p1(list 0 0))
2 J- L! T9 f0 G  H$ D! Z  (setq p2(list 10 10))
' `1 @7 z& `4 J  (setq p3(list 11 10))
1 X; o# q( w( {; A  (setq p4(list 21 0))
" u( A. [% M) }- P, y  (command "line" p1 p2 "")4 u: y+ a# c, z8 R; r2 ?: G
  (setq l1(entlast))
" d$ N* [/ h/ @7 s7 G# h+ \  (command "line" p3 p4 "")
, S, I0 e/ F- E/ L& P+ ]; f6 n  (setq l2(entlast))3 ?" m! ~( j2 S+ O# i' @
  (command "fillet" "t" "t" "r" 2)
/ r: m6 i' l% p  (command "fillet" l1 l2)8 X# ^. i, p1 }) D0 z( P
  (princ)
' n) N0 |$ M" U7 x6 X' c- H ); d) R. y* M, t' B- I9 |2 U

6 }( Z. Y; y+ t  i5 c1 H其实调用CAD命令和你自己在命令行输入差不多,在命令行输入相应的命令、参数,基本就可以把LISP需要的东西试出来,如果输入命令后会弹出对话框,就在命令前面加个减号,比如阵列,我记得在CAD2000没有对话框,就可以直接用“ARRAY”,在2002有了对话框了,LISP中就应该用“-ARRAY”。

评分

参与人数 1三维币 +5 收起 理由
wsj249201 + 5 应助

查看全部评分

发表于 2008-9-6 15:54:43 | 显示全部楼层 来自: 中国浙江宁波
方法7#楼都讲了,对于要使用实体选择集的命令,要先构建选择集然后把变量直接传给命令即可,由程序创建的实体可以通过程序直接创建选择集,已有实体可以先通过交互选择实体构建选择集;

评分

参与人数 1三维币 +5 收起 理由
woaishuijia + 5 应助

查看全部评分

发表于 2009-11-17 19:18:21 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
7 r8 ]& q9 w: ^8 v! F3 T$ l' O(defun c:mi( )
4 V- J7 k0 R( O/ X3 Y0 }0 i (initget 7)
$ W1 y6 ?7 s( t% V0 Y+ H (setq pc1 (getpoint "\n pc1"))0 e. y$ M( n9 ~0 `& J/ o) K
  (initget 7)
2 g+ r6 ]2 a: ~7 a5 N4 U7 p(setq pc2 (getpoint "\n pc2"))% R! l+ h' {: G( O* Z! V4 z4 {4 ?1 c, @
(initget 7)
9 C9 d9 n7 `$ V' c/ \2 V (setq p3 (getpoint "\n p3"))
8 J( }3 k5 C; p) n8 [; d  (initget 7)
2 N9 w4 H. q5 C! B$ b(setq p4 (getpoint "\n p4"))  c8 H9 I/ E; \* K
(command "line" pc1 pc2"")
) I* N' r1 A9 Q4 N6 M& {% V (command "line" p3 p4"")6 l9 A8 j: a! n- F. O% o
(setq ss (entlast))6 _+ J" l) i( M# ?
(command "mirror" ss  pc1 pc2 "")
4 I& S1 Y6 T- G& S' ]2 J* Q+ J)
发表于 2010-10-14 15:43:45 | 显示全部楼层 来自: 中国广东深圳
正在学习,请多指点!
头像被屏蔽
发表于 2010-10-16 23:11:10 | 显示全部楼层 来自: 中国北京
提示: 作者被禁止或删除 内容自动屏蔽
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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