QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 5620|回复: 10
收起左侧

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

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

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

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

x
请教:7 A: f3 a  R, {+ s5 ?6 T! @+ U# V
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
" j$ A* J/ u! G. b8 |5 k7 _2 P
7 x8 Z+ K' z0 B. i[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层
可能没说清楚! j/ R% R! D: o/ K' n7 ~* l8 ^
如:(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, F# y: D  Q$ S2 Q5 P$ d8 m) K, m

1 R% d5 S6 R* a; z. q7 f+ ?5 l% J我的意思是 命令后的内容,
2 `# |/ r4 W% a, W/ w6 |) i如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif8 g2 `. @: d1 z' P8 q# U  W
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号

3 f: f, {6 y4 d7 D) _' n
  H3 v2 ?8 J; i# b/ o) j- n8 ?3 m0 k' U% ^
想知道对应每重命令后参数的具体内容
9 b% I# g! [6 B$ ^8 \
- }1 L" W' `% Z& L! b3 g( w3 m9 U0 ?+ N) u; Z
command " _extend"   格式内容
2 U# k6 f" B. V2 z; w9 h9 Ucommand "_fillet " XXXXXX
+ u6 s0 k3 y) ~' K/ `2 lcommand  倒角  XXXXXXX
4 ^0 s8 X, k. A- Y# ^" W2 i
$ E. V/ ^, L+ U) E% d等等$ w# z) M9 L, {' B
. K/ n( a+ C+ b
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!3 |' h7 p$ l6 e2 \6 ]1 V. u
这个是圆角的程序  |& d0 M- t0 v$ j0 e
(defun c:aaaa(), F, Y* h" A, s% u; ^4 L0 Y8 [) M
  (setq p1(list 0 0))' X2 k9 }+ h( E! O" }
  (setq p2(list 10 10))
3 j% t+ e9 c3 u: o  (setq p3(list 11 10))9 W$ D5 d' F, D- X4 B
  (setq p4(list 21 0))
) P  T# |! ~9 ?# R2 E  (command "line" p1 p2 "")
! ]+ v( ]% k6 z! U, n: g7 }  (setq l1(entlast))
0 X3 |* h& F, V  (command "line" p3 p4 "")- o; r- _$ M, N3 r3 x  H( Y" H4 D) O4 W
  (setq l2(entlast)); r, p; x8 x. m/ Z+ J( D5 u% i
  (command "fillet" "t" "t" "r" 2)" ]6 t, {' N9 x$ f4 \0 w
  (command "fillet" l1 l2)' O! |; A  a/ E
  (princ)7 Z3 a- O2 L1 f0 b% B
)4 S* ?  v$ ~1 u; y3 }1 L( [

0 o- _1 _% c, q( r3 x1 r其实调用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 | 显示全部楼层
这是一个镜像程序,不妨一试:
1 s4 U# O' d0 t(defun c:mi( )3 J) w& [# I$ a/ d. Q3 Z# `
(initget 7)
- @* B5 d8 l  h" G2 B& a (setq pc1 (getpoint "\n pc1"))
% S# x- _1 X" K0 h  (initget 7)
" i: B, z/ U+ B0 _/ Q" g  v(setq pc2 (getpoint "\n pc2"))! y- t! {; F# x6 `4 p% u/ B/ u% M2 q
(initget 7)
/ Q" p( r3 Y) ~/ n  | (setq p3 (getpoint "\n p3"))' \* {0 v: \- @5 a( v6 ]$ x
  (initget 7)
, R2 K: n" i, S9 `! v(setq p4 (getpoint "\n p4"))
& q" p+ }$ W4 }# { (command "line" pc1 pc2"")
' b, J+ C* L" `8 j- { (command "line" p3 p4""). c2 z8 z9 S2 a' s; k
(setq ss (entlast))
. X$ J5 z; e1 W$ Q4 f, z (command "mirror" ss  pc1 pc2 "")
9 b1 L) `! X& ?+ q. {; ?6 k)
发表于 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备13008828号-1 )

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