QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 5962|回复: 10
收起左侧

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

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

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

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

x
请教:7 e, b; R' U  |- j
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
  v; H8 v: K1 Y4 W) {* g. K1 m9 q/ x9 D+ a3 K% U) [4 W1 i' X
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚: r) P$ k" z* P
如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.
* O4 M6 N/ Y! z) X7 }# ~+ J* t+ L( q! F" F: B( y% U
我的意思是 命令后的内容,
, Y$ v! T" X2 b/ S$ d: w如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif* M& p+ E* A, w: ]/ ~0 F
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

6 M7 B& n  l3 Z' v$ i( b/ f1 c4 U. J. W; n* d
( s$ q( m' a5 p* W0 K" F
想知道对应每重命令后参数的具体内容
* d* i" K. G8 B. f/ }
+ |' K$ I& L4 }. d4 J' f" q1 P7 @. f5 S% W; E
command " _extend"   格式内容
! \' {* d3 U/ scommand "_fillet " XXXXXX
- r$ }! n  y; Vcommand  倒角  XXXXXXX
8 n, [2 P9 B6 K% R" ^
8 C8 z- b# r5 H等等
7 B( o# d7 \2 x3 a( Z3 J* N9 j, J
8 z& V% y  q) I& Z& F[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!
6 U9 s/ a) R, v这个是圆角的程序
; \( [: A2 |( _+ p(defun c:aaaa()
* [, g3 P5 A! [" @  g1 s  (setq p1(list 0 0)); d9 v/ |# ?$ V& U5 ]1 M& F& @
  (setq p2(list 10 10))
/ U; f& w1 w! T+ V  (setq p3(list 11 10))
/ z7 j& v* m/ R4 n1 B: C  (setq p4(list 21 0))
. \* U9 D! x( c) v  (command "line" p1 p2 "")! D8 ^/ ^. ]; e7 K% i: P& g
  (setq l1(entlast))
1 C7 q: c* c% `. i  (command "line" p3 p4 "")5 J; T* H7 S7 R6 S# Q
  (setq l2(entlast))) h* s8 o7 E- w! ?- @
  (command "fillet" "t" "t" "r" 2): R' [) z; v5 R" J9 Q. n! B, o
  (command "fillet" l1 l2)5 r( ~  K; n$ Y. _; U4 H
  (princ)+ y% P# @; X/ m1 @
)6 U0 v/ g" t* k& n8 Y9 O2 Q
8 I9 z  D7 \5 e8 b4 E) O) `% r- Q+ H: o3 `
其实调用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 a( P0 Z8 {0 ?8 j2 r6 T" ?
(defun c:mi( )# P' G8 ]1 U6 Q3 W, C4 H
(initget 7)
0 G, R0 s  F& ]3 w (setq pc1 (getpoint "\n pc1"))
9 |/ v1 g* O) N' G  (initget 7)
4 T7 H  m7 o7 d) ^& _. g(setq pc2 (getpoint "\n pc2"))
5 D4 Q6 I$ U4 n* d (initget 7)
% q$ e; d. h; d* l+ j (setq p3 (getpoint "\n p3"))
/ q: I. J  s4 A4 H* H. T  (initget 7)# a2 \; j4 x( h% M( W
(setq p4 (getpoint "\n p4"))
2 f$ q# O9 P, X' C9 W1 z (command "line" pc1 pc2"")
! s' L$ v. Z( e (command "line" p3 p4""): B' K3 ]3 B! x, X9 \8 I4 C
(setq ss (entlast))4 R/ |  S, a/ S
(command "mirror" ss  pc1 pc2 "")
0 T$ O. ~; C; `( l6 h5 b1 b)
发表于 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 )

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