QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 5954|回复: 10
收起左侧

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

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

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

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

x
请教:
4 x& X+ i9 ]% o  O6 G4 R$ oLISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
( X8 M: _7 G' g
( l9 K) Y% \, g/ x# {! t4 n9 V[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚  F; w' J) f$ J3 v
如:(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 g7 ?3 N+ x, Y+ N' k: a: E
+ a, {( H) r# _+ V4 E* i) t4 e
我的意思是 命令后的内容,
# O( d& C/ p! ]- l. h0 m: F; a# n如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif* Y( ]$ [! {& l/ _" \
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
  O% {8 q$ `" {  y6 \1 N3 F

  j% f) G, A6 q. r# x. }( m/ @% H' m
想知道对应每重命令后参数的具体内容
7 \0 y, B/ A, ?$ j" }) @$ ?9 Q. c  p6 C1 a! o+ a: h* B0 r

* B4 b- @! J, Ccommand " _extend"   格式内容
" `; O+ L/ ^5 D- v4 q: A1 Acommand "_fillet " XXXXXX3 q4 K2 m  e8 ?. u( B! d
command  倒角  XXXXXXX% J* e- w# P7 K3 C( T" i
. {6 j* |% {9 r3 {8 y4 ^% \
等等
$ e6 |; P$ e: L- g0 `# p
0 h3 P  R0 g$ u+ g0 Y[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!
- e* q. a3 ~" q1 u/ c, t, |这个是圆角的程序
5 z+ j% g- q4 {- s  h5 x(defun c:aaaa()
: D& m2 @0 G8 ?* T+ x# q  (setq p1(list 0 0))
+ u% ~0 Z0 }  t! s/ J  (setq p2(list 10 10))1 N  }9 K4 J% X2 `" \9 e$ d; b# a
  (setq p3(list 11 10))2 Y2 y8 D$ u0 z+ e" b
  (setq p4(list 21 0))
% R( e; ^7 B3 ?1 K2 U4 ^  (command "line" p1 p2 "")7 u8 l) ]; ]3 n$ T, k
  (setq l1(entlast))
+ U& C* s2 f; E3 |  r' a4 k9 d$ D  (command "line" p3 p4 "")! m! P2 r$ Y" l9 i5 L4 X
  (setq l2(entlast))
6 H! c! N1 L- t( T9 p- C, ?  (command "fillet" "t" "t" "r" 2)  j& c9 w' O7 v7 J% g) z
  (command "fillet" l1 l2)4 m* H0 s0 J4 X) e! i3 G
  (princ)
; n; C; l% S& {5 x ). f' o4 v) t  z( X8 y' @

- ^' ]" R; _5 i$ y) I其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
" Q, V  w4 L2 G- o; K3 e" v(defun c:mi( )
2 w$ G: g5 d/ z9 g (initget 7)
! _7 V, E* X3 T0 ^' Q$ o+ O5 p0 j (setq pc1 (getpoint "\n pc1"))5 X$ S. M  C2 \
  (initget 7)
9 i& u- u! w& _4 D$ m(setq pc2 (getpoint "\n pc2"))0 t- y. r8 U/ S8 e! E' c: m; T
(initget 7)
/ l3 i5 n9 U( W! j (setq p3 (getpoint "\n p3"))
0 Q: {. Q6 T! M9 ~7 F  (initget 7)
6 v" O  X" Y' Y, e(setq p4 (getpoint "\n p4"))
  z6 X# b! x* X( ? (command "line" pc1 pc2"")
& W$ \% Q- F6 n0 q* l( p* t- M6 d3 P (command "line" p3 p4"")
( D3 ]" s# z+ `# k/ H) f (setq ss (entlast))
/ ?* D) Y2 G/ W. O8 ^2 } (command "mirror" ss  pc1 pc2 "")
* B" e- y! f( @, \5 [/ G)
发表于 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 )

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