QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:
* M' w% @/ K5 a7 i" r* sLISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解8 ^% L9 @; ^' s) r, B

) L2 i( I+ ~9 V  K5 g3 ~[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚5 j8 E" R+ ~5 c/ X& V  H
如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.2 Z" \% u& [) v7 n! ^

: ~6 Z6 I* ?6 J0 G: |, ?/ K1 M+ @+ w我的意思是 命令后的内容,0 \0 o2 y) ]2 d/ |0 B
如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif$ z: q$ i: ^" P$ v( T- t
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
4 O6 ~( u0 g4 ]; ?) ^0 V( T7 Y

# Z- ?1 D# O, _8 @3 T1 A& J7 i+ Y5 H1 V5 z! T/ E) @7 I9 r5 p1 q( }
想知道对应每重命令后参数的具体内容
3 Z, D" F6 L0 T4 o3 o4 f  M5 m" A7 c& e& r8 x9 {1 i% J

7 h2 N# [# {2 P3 @! Q0 |3 ]command " _extend"   格式内容
2 ]6 T. D4 S) t( E4 I6 @command "_fillet " XXXXXX
4 T& J0 K; }! t: Y+ \/ `command  倒角  XXXXXXX
2 A' B. N7 }7 X3 R, p) x
& {2 y( L) F' o( o( @/ [等等
) b+ v. R5 p; ]7 d' x  I1 u. `8 a, V* T& \( W9 J& w
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!1 v7 ]2 d; G4 S( D
这个是圆角的程序. H1 l; l- z: I8 V
(defun c:aaaa()  `, F! a! v0 u$ Q6 g' c" j
  (setq p1(list 0 0))8 C- K1 h- A) w; u+ T) j0 {
  (setq p2(list 10 10))
0 K/ p7 }- u5 J# b1 v, P, \& W: M+ Z  (setq p3(list 11 10))
) k/ c5 A; i1 N$ x$ X0 f  (setq p4(list 21 0))
! N# Y2 ^7 x' ~  (command "line" p1 p2 "")
' ?) O0 A+ v  x& p* @  (setq l1(entlast))1 Z9 k! }6 z* ^2 k. [0 t$ \( K
  (command "line" p3 p4 "")% B1 f; G! n" Y8 a9 q1 W7 n
  (setq l2(entlast))& I- Q6 R; _) u+ E
  (command "fillet" "t" "t" "r" 2)( l2 ]: ~* f7 H. A: N
  (command "fillet" l1 l2)
& Y! [; J, u4 f; A# y8 i+ S  (princ)4 z+ Z0 {" W# n, t; A
)
" K7 b% E+ X7 M9 m4 {* U, l) ~
其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
- }0 i- Y. V9 f7 a. |(defun c:mi( )# k' j# Z6 }) t" \
(initget 7)
& ], F8 M- l% @$ a0 G& t6 y6 J% l (setq pc1 (getpoint "\n pc1"))
% }. S" ~" B1 S6 s' J3 z$ X  (initget 7)
. |- ~$ O& C- w1 X/ G(setq pc2 (getpoint "\n pc2"))
! M8 O8 y2 i# u+ b" c' q3 T (initget 7)
, G" l/ I( K1 W3 r  v (setq p3 (getpoint "\n p3"))1 x1 g" D; X) K; A" ?$ o" n
  (initget 7)% M* X9 E+ Y: Z0 P" n
(setq p4 (getpoint "\n p4"))2 J1 ~, A( j+ ~/ G' _4 c
(command "line" pc1 pc2"")9 f; m2 J3 B9 @
(command "line" p3 p4"")$ i$ G4 h+ a5 w3 P# I
(setq ss (entlast))
" P( U6 @' i5 J. D2 I1 { (command "mirror" ss  pc1 pc2 "")/ Q, q; g9 [9 Q2 B3 g# |/ o6 E+ n/ J3 @
)
发表于 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 )

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