QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 6030|回复: 10
收起左侧

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

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

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

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

x
请教:/ r" J, f! A; f/ D
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解- E) r" f+ d3 a2 I. P  w. S4 [" c/ j

, \8 t/ ^. Q) L& l6 R- R) k2 g[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚9 v4 I, b5 ~* \" W6 y; y* Y
如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.
8 o/ Y% g4 S' A( ]3 g
- f% d1 w2 ?3 y9 S2 J. f7 f& e我的意思是 命令后的内容,
& `! z/ g7 s! q2 [  }如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif& ]1 ]$ M) U  X, M5 \/ Q- p& R  c% N/ h
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

( w0 J" ~5 R' Z" Y& N7 e7 m* Z: L/ a8 {4 q+ c. N0 y
* z+ Q: }3 y- b; n; v
想知道对应每重命令后参数的具体内容
/ U# X' @% u# s4 r. I2 }: [4 \$ M, C

- Z  h! N# q/ C3 j9 m" Q1 V# Dcommand " _extend"   格式内容
; B5 w4 a' S# g9 K& V0 E: r% q7 L" vcommand "_fillet " XXXXXX
/ ^7 _& |( |: i% Q) zcommand  倒角  XXXXXXX
2 i' G4 ]" Z. l  R6 ~
3 P% c, D' B: n* a- n5 g% M等等
; K$ g" b1 o! M/ z2 t
  ]. w  `: ^  g. y[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!
* ?8 V: ?* M/ g" S4 f# p- ~0 Q4 r这个是圆角的程序
; \! J2 f* n2 O(defun c:aaaa()
0 j* A/ j& d5 A9 |/ k/ O  (setq p1(list 0 0))
. u7 ~5 q6 F; d' E, `. K  (setq p2(list 10 10))" c5 m+ D/ b8 s/ y
  (setq p3(list 11 10))4 a6 p8 Y2 J2 O' P+ ?
  (setq p4(list 21 0))# o6 ]  ~  c# B/ p1 G! U
  (command "line" p1 p2 "")
/ V2 t9 A. J  r5 B5 _- T- p  (setq l1(entlast)); y9 x& {& o) M8 X' g3 n
  (command "line" p3 p4 "")) n, b2 v+ R& u; k$ k7 `
  (setq l2(entlast))! [3 j& A* o3 d. z2 F5 k
  (command "fillet" "t" "t" "r" 2)2 i9 D7 v" ]* y0 s+ X! e( X
  (command "fillet" l1 l2)
% b' r/ v2 t0 ^1 F+ f  (princ)$ r6 ~- a5 p# G9 b" P$ ]; [* h
)
% X  m6 N9 c6 Y) }2 t% w) [7 B9 j, \4 j1 w7 b* o& W9 m1 M$ o) S* \
其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
' D& s& F& B/ R7 `! E(defun c:mi( )9 `' L3 k, x3 L- r% [1 n% M7 k' _
(initget 7): I& R! {# E: b$ e; o: ]
(setq pc1 (getpoint "\n pc1")): n& s  u2 \7 |
  (initget 7)
0 `% E4 ~: z# O5 x+ x7 B* [(setq pc2 (getpoint "\n pc2"))& H0 h$ {- _3 G
(initget 7)5 ]* t0 b6 J) O4 m8 ~* j; {
(setq p3 (getpoint "\n p3"))
( z' ~1 c4 H, s" P( x7 L# V  (initget 7): \! G- z4 R* T2 \
(setq p4 (getpoint "\n p4")): e$ m$ K- l) V4 L5 G. c
(command "line" pc1 pc2"")
# |& n& @' @4 J. ]2 r1 J (command "line" p3 p4"")
6 S, O: W+ l$ A# ^7 I  ~( a2 j (setq ss (entlast))( S2 ^* }& U. |, c8 P2 O1 L/ h. j
(command "mirror" ss  pc1 pc2 "")
* R' D, P0 u2 r)
发表于 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 )

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