QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:. d  _! F+ ~6 P! I0 Z, ^
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解9 E/ ^0 B& f, b0 Q6 Q
1 Q+ E, x2 z2 ]* T, z7 T5 v
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚
0 [5 V% x, E1 @/ X( {- ?- n如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.# I4 d' Y8 v1 `  A- m5 u4 Q
# T( b5 _$ h9 ]% g. S
我的意思是 命令后的内容,
( F! h) a, r  a; D如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif; M2 }5 @; Y* q2 Y4 o6 ^
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

9 F9 I4 g1 r& H' D- d& J8 |6 ]0 F" \2 A6 c6 }& g8 A

- J9 y/ v3 |! O  r想知道对应每重命令后参数的具体内容
$ f: o$ K  s" J
2 P: U5 `( F0 y
# y3 R( X, K- g+ F' _0 _' J+ |9 g8 Tcommand " _extend"   格式内容2 k0 k# a5 L& v; l* K2 e
command "_fillet " XXXXXX. p- W0 E* K" h0 {, H5 h' d
command  倒角  XXXXXXX0 ~4 d) Z3 R+ H" r

: y( Y6 x: U! d# P) `' ^等等) x8 T0 H7 v: G9 Z9 Q
+ p1 Y% f/ @4 N' k
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!
/ r- h5 c, H" k, V$ |* [& p这个是圆角的程序0 r$ l  O* A3 d2 R- U2 z1 A3 ^
(defun c:aaaa(); z  U# \; x- I( n
  (setq p1(list 0 0))
5 M# o# y7 y! }2 J  (setq p2(list 10 10)), A5 J. b( `. o- O  [# I8 H6 [
  (setq p3(list 11 10))
5 h5 h' h6 O$ b7 m% D. j* ^  (setq p4(list 21 0))$ z) _* C7 B' F( |
  (command "line" p1 p2 "")
$ x, K/ y! m/ X1 J8 j/ \  (setq l1(entlast))
0 r3 X# V3 o/ P5 ^2 k$ r! c4 L2 n  (command "line" p3 p4 "")$ n" e7 x5 m# j. ?8 T; v! @9 _
  (setq l2(entlast))
7 i: Y% @7 s6 a# _  (command "fillet" "t" "t" "r" 2)
% I% c( s9 x! d# i9 U  (command "fillet" l1 l2)' e( K# [: ]0 y$ l% K" b* [8 _
  (princ)
3 v  u5 }. s5 D, q7 a$ D% H  g )7 C4 J0 h! j  F5 F2 c6 \2 n

! p( @# N% a+ q$ ?9 w/ x1 d其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:8 Y. M5 E# ^6 ]% C: n1 Z* l
(defun c:mi( )
! R2 }, X0 X  ]; h (initget 7)% i2 B% N$ B' r4 d4 V
(setq pc1 (getpoint "\n pc1"))
# h8 }) [  ~5 T0 x* n  (initget 7)3 ?3 d: c8 T, T. v' q
(setq pc2 (getpoint "\n pc2")). ]% Q5 l0 v+ |1 r  h
(initget 7)% k5 i# A2 {, s
(setq p3 (getpoint "\n p3"))
6 |/ m1 ^) o  d* z  (initget 7)
' M  D8 I+ `! }. k# O& e; k(setq p4 (getpoint "\n p4"))0 S  X( |* q. {. K
(command "line" pc1 pc2"")
* i: {2 m, x! b (command "line" p3 p4"")& ~4 J4 G, m2 P7 w* I% C
(setq ss (entlast))
/ k. }' U% A! W! B4 R (command "mirror" ss  pc1 pc2 "")
  _9 p, u! X5 K. ~5 M)
发表于 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 )

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