QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 5756|回复: 10
收起左侧

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

[复制链接]
发表于 2008-5-15 20:46:44 | 显示全部楼层 |阅读模式

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

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

x
请教:+ g& P4 A9 w0 `6 F+ o
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
, V+ c3 C7 g$ R2 m# _: W; R+ W
& t1 E8 ~0 ^/ ][ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层
可能没说清楚4 f+ ~. ]. e+ O/ d
如:(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 | 显示全部楼层
谢谢,总算有人进来了.
( f$ k( Z7 c8 v
; P7 h" z3 N2 A6 t. \% I我的意思是 命令后的内容,3 D3 Z* `, o0 I; e+ h- m
如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif' X) c) g" X0 Y* p# ?8 B" u
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
. e1 e3 f& X9 g( q( W  Q

+ `8 h* N+ f" Q8 R9 R
, p; b7 ~5 D$ S9 ~) w( ]想知道对应每重命令后参数的具体内容
7 q) u' }6 f( X) m
9 v  {/ L! e# l, Y' @4 I
1 p: Z3 x8 N1 Y! F1 ]command " _extend"   格式内容4 T9 W* U+ z: e  o9 I! M
command "_fillet " XXXXXX- A% c, R  Y+ \! S" v7 c
command  倒角  XXXXXXX7 x' J$ p9 ~/ s+ R* K2 i1 B' E
2 i- t) g. q5 J
等等
+ v. y% D1 C/ G
; B  g% E/ n% O! n[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!
! |* {& Y3 h7 Z( h这个是圆角的程序
& I# B! K; `. E(defun c:aaaa()
+ Y" \/ M; [  e5 A' J  (setq p1(list 0 0))% B1 A$ E% J4 s" d+ i) H6 g
  (setq p2(list 10 10))' b8 l" d6 n# k; L
  (setq p3(list 11 10))$ O" {' m1 S! R7 [7 i1 G
  (setq p4(list 21 0))( ~6 N% G) m+ S- \
  (command "line" p1 p2 "")% j' P7 H& X% S, Q8 N
  (setq l1(entlast))
; E: _9 m3 W2 p1 _3 z  (command "line" p3 p4 "")
2 H1 y; D% L# \( f% a# Z9 L  (setq l2(entlast))
  t' i- c; g" j! J  (command "fillet" "t" "t" "r" 2)
2 U) y4 @9 }. T. N+ O$ k3 ?  (command "fillet" l1 l2)
7 L1 E2 P! h' o2 p6 {! C' \& }2 m  (princ)# Y& m* b' b" i: m4 e5 u
)
& J: M8 R( w, B, T6 b+ C0 N
6 ~6 J4 Y$ n4 \* X5 z+ ^6 o其实调用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 | 显示全部楼层
这是一个镜像程序,不妨一试:
. @: [" W9 I% M' t% V( `& r(defun c:mi( )
! Y  s# I! ]7 b1 j3 \ (initget 7)6 q, ^1 C4 b+ O1 c; x+ ~
(setq pc1 (getpoint "\n pc1"))
( }  c6 f' C+ c; \. b) ^- [) v  (initget 7)
0 m5 G$ l7 W! O$ x: D(setq pc2 (getpoint "\n pc2")). Z5 m1 C2 U5 Y4 ?9 X
(initget 7): N) j8 t- [! J+ @! _+ a5 r+ ^
(setq p3 (getpoint "\n p3"))" B, j9 E1 U1 j4 q; }3 T5 q) ^
  (initget 7)+ r; I2 g/ j' [9 ?; c) z
(setq p4 (getpoint "\n p4"))
& t" u% h. {5 B, U% y; t (command "line" pc1 pc2"")
& V2 [' E* r/ h: k4 l# a) r- K (command "line" p3 p4"")
9 i! \! @* b/ Z (setq ss (entlast))8 @9 w. u# [3 R3 U
(command "mirror" ss  pc1 pc2 "")
6 ]& S9 E" b6 ~2 a)
发表于 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 )

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