QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:
, b1 ^2 {3 M$ k* {3 ^. ?LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解& R, L& ^& V& L/ K
1 o) H* M3 e: r4 ^' e! ?
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚* f& e: k  f' {6 }, O" z
如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.
1 J" r. U& X/ |& ^1 }7 q: W8 z5 m  u& y8 {
我的意思是 命令后的内容,
. H+ I" n/ |8 c6 n如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif2 v9 ~8 M( t7 g# E$ q, p
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

) k: z: m1 k- n4 j% {$ k- T
- W; c5 W$ u' E
9 T/ p% F0 R5 H5 r" o. Z想知道对应每重命令后参数的具体内容
( K2 P8 G- ]" ~9 A" @) v" c) y; g' u7 d, M. G
- X/ g5 u' u* N3 z7 d7 z: F8 h
command " _extend"   格式内容$ D/ A$ o+ F7 D7 H
command "_fillet " XXXXXX: m2 B. u) K! _9 W8 @
command  倒角  XXXXXXX- l- z8 k7 Y% Z* v
) b1 b- `$ y. p0 U* y
等等9 p9 a  g0 q3 {/ b! V# X; k
' v. q+ E, R( A' x
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!5 G+ k+ b6 ], o" G
这个是圆角的程序
  d8 X' O  ]( O3 j8 L9 x8 g9 g(defun c:aaaa()( h1 a$ G6 _( C1 F
  (setq p1(list 0 0))
8 n+ [3 R" ^5 B  (setq p2(list 10 10))# \+ V0 N- M/ |
  (setq p3(list 11 10))
7 A3 y& ~* k( v) w) O1 }  (setq p4(list 21 0))! t% N$ u# l) k
  (command "line" p1 p2 "")
/ K" n9 i1 [7 M4 c5 Q# s  (setq l1(entlast))
: r4 D4 q$ \7 B/ e' _2 C& k  (command "line" p3 p4 "")1 z9 B0 z& P& K3 W  [- ?! n/ {- ?
  (setq l2(entlast))
3 s; v0 p& C5 u& w  (command "fillet" "t" "t" "r" 2)
9 J2 f! ]+ ]$ P; e  (command "fillet" l1 l2)$ d! x2 Q) b2 ?* O% `  k
  (princ)
8 o+ O9 ]/ ?% l" g+ P8 D7 S )0 \. E+ _" y* f9 E# U/ G; C
* u% |) I) w" j2 e+ M
其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
& A( H: s) u& s7 z(defun c:mi( )& l0 r+ _$ a, D$ S9 R
(initget 7)
2 ~9 ^9 p$ J( f! w$ y (setq pc1 (getpoint "\n pc1"))
* A9 u( f/ ]. E9 W( |- R( Z3 [  (initget 7)/ u5 D& e' A. U) R0 ^/ p+ n7 G( S
(setq pc2 (getpoint "\n pc2"))3 E8 b" n3 y1 r
(initget 7)+ `3 R* e0 s* K" q; r
(setq p3 (getpoint "\n p3")). I/ t% z  \4 O* {4 ]) S3 Z) D
  (initget 7), o/ P3 n$ m' o! S# B
(setq p4 (getpoint "\n p4"))
* f5 u  F% ?$ t. @ (command "line" pc1 pc2"")
! o0 n% O3 M' ] (command "line" p3 p4"")
/ v! q, B5 p* w& r# i5 D1 a (setq ss (entlast))
/ A; }0 O. W; K% h/ w (command "mirror" ss  pc1 pc2 "")" t1 e5 d+ ^: B  g4 ^
)
发表于 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 )

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