QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:
7 Y, a1 `# b% `" F% R0 f* qLISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
- _" W0 |% j1 x& a' I2 m% F1 ~2 D$ Y: [2 r: K# x
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚
7 e$ {3 p3 _5 x6 i4 @" t如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了., Q8 D6 A3 ]# N9 ~* K1 H

9 u% ]* @, |2 S3 H  R4 s) g我的意思是 命令后的内容,
8 ^' ~* J9 p- x* m: R如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif
; Z) J0 M2 m1 f) O9 S$ c可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

9 z( Z! k$ H# U. R( N* e# k9 _) Y% z% t! F0 E0 d
6 [; ~9 x; f+ w. x, b1 J" p. |
想知道对应每重命令后参数的具体内容( Z2 J! P! S7 m) v% Z* p
9 Y2 D. k! {" R, T7 |$ h+ g

  H8 _( C: i4 i  S3 C3 Y- ^$ Wcommand " _extend"   格式内容
3 R: \2 ]# x' L; F$ F1 q! fcommand "_fillet " XXXXXX
% p& V: B# x* ]6 P' D" V* g$ [4 d2 Z! j5 pcommand  倒角  XXXXXXX
( {) ]+ V  Y, E/ C4 \! G+ g8 b  F' R5 x8 O8 A, Y
等等
! M2 K1 }4 P1 w. m: L% }: i1 _8 h2 X: n, [" V
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!  \* I; Q9 m) f, u2 o( @1 f
这个是圆角的程序
) @# [3 h! n' n5 T7 X* ?(defun c:aaaa()  B' t- \( i! \2 R
  (setq p1(list 0 0))
# z2 p* c5 f# G9 N  (setq p2(list 10 10))
$ h6 w) Q* u+ ]$ y  (setq p3(list 11 10))) F" a6 l& p7 g- ^
  (setq p4(list 21 0))- A+ g' O. u+ }& Y0 R# h7 `4 `2 J
  (command "line" p1 p2 "")
5 n' Q: {; \# [- F! p' @  (setq l1(entlast))
1 y* {- R! T  W6 K/ Y  (command "line" p3 p4 "")
- `; c% k8 M( x+ Z) D5 Y3 S  (setq l2(entlast))
" H% m9 P( s" z6 ]) q2 E/ e  (command "fillet" "t" "t" "r" 2)
- T' g1 m4 V6 ?; a. m  (command "fillet" l1 l2)4 @# o; c4 q4 R$ `" S& a5 i2 R
  (princ)
: O' T% d3 f# z. O# c  U0 O6 v )
3 Z0 h6 c+ a7 u* k  Y7 b4 |# U( W" q% C
其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:, k  i$ U) r" X
(defun c:mi( )
& o, B% u) n5 A3 N( z (initget 7)
* S. x0 g3 V% N6 R) k8 ~  I (setq pc1 (getpoint "\n pc1"))5 g& J4 q* x7 |
  (initget 7)
+ ^# i# q% Z7 ^& I1 o7 t$ Q$ X( |(setq pc2 (getpoint "\n pc2"))
& _6 v* ^! Y7 d (initget 7); K7 ]; R$ P9 R- o
(setq p3 (getpoint "\n p3"))0 [) O& {" y1 X  _' I4 E1 P
  (initget 7)
7 Q1 a: P9 r* ~- H1 }- j6 f& F# F0 I6 @(setq p4 (getpoint "\n p4"))2 N) S2 q+ _: f7 ?
(command "line" pc1 pc2"")4 Z# l- v( |8 M3 {+ N
(command "line" p3 p4"")
4 u+ y3 e5 i* x4 @. U (setq ss (entlast))! t6 d- U, ^$ a! z4 m
(command "mirror" ss  pc1 pc2 "")  G) g/ p2 v8 ?8 A# x, Z$ \
)
发表于 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 )

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