QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:8 M, k5 N6 H7 F8 ~( Q  Y  Q: c7 [
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解  K2 h. a1 S/ A
+ w1 d# f5 T3 ]. X: c% A
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层
可能没说清楚5 P, w& p2 s: L1 O% h
如:(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 | 显示全部楼层
谢谢,总算有人进来了., G) F! w' E: _

5 t% p& L( B! C& c) X  e  ~- ?我的意思是 命令后的内容,
$ A6 O; ^  _7 l) s/ s+ ?2 v" U如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif: s3 X3 K  b1 B7 p8 @0 m
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
8 w3 x' b, o- C- G8 `1 ?( j
8 ?- A( j4 E, i: {7 B
8 K" l+ ]$ [2 B+ Y% x7 t/ ?
想知道对应每重命令后参数的具体内容4 s, E6 v2 J( C* `
( ?% \7 f' ]) }. }1 l2 v

! v% f* _+ G* v7 c( _command " _extend"   格式内容
2 S8 L% p$ g5 T& v: Pcommand "_fillet " XXXXXX
: g, B$ }/ N5 ucommand  倒角  XXXXXXX) Z9 l  M8 T# |1 s6 X, Z' s+ y

6 e+ p6 P6 K! p1 I4 o7 A: b等等
3 C$ ^6 q  F" k! N9 @$ R, _- @, U6 l2 ?7 H) y' L' J
[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!1 T2 M1 M( q, d+ G* j
这个是圆角的程序! S# v; q: x( m
(defun c:aaaa()
/ G- h. F4 N1 |- n; J  (setq p1(list 0 0))
# h4 g- ^/ v% Z  (setq p2(list 10 10))
4 m# R# x* d: p; F  (setq p3(list 11 10))9 g# g+ ]! |6 A% ^
  (setq p4(list 21 0))
# {7 h9 G/ _! z2 ]. j0 t* W/ T0 w6 O  (command "line" p1 p2 "")( j* B7 f, n$ r4 b: I
  (setq l1(entlast))4 U2 u8 c: E! T# m' `$ \& w4 y9 z
  (command "line" p3 p4 "")
6 x2 Z. H* c$ ]/ e  }" d  (setq l2(entlast))
! E2 i* T# q# ^3 Q$ n* g9 G' p  (command "fillet" "t" "t" "r" 2)
5 U- f2 B+ \( z' O  (command "fillet" l1 l2)- I  ]; `" {) D' Z/ h" t
  (princ)
/ e8 o* c7 w! u$ f* j; s( O3 R )- E+ V% f0 A& ?
2 _  B7 j2 G7 _9 }
其实调用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 | 显示全部楼层
这是一个镜像程序,不妨一试:# Y( h: ~/ o3 H9 n3 h  i% V0 s
(defun c:mi( )
3 q9 T# _6 H" N (initget 7)/ g1 l3 Z& P  m7 k3 \& B
(setq pc1 (getpoint "\n pc1"))
5 v( j  J% L, [, ~" N; ^5 K  (initget 7)
5 V% Y; [& {# i; }9 c  V" e9 S* f( Z(setq pc2 (getpoint "\n pc2"))8 a. A$ ~, ]) j' r9 N7 Z& o' \2 @
(initget 7)
# H$ Q: e+ Z! K6 S (setq p3 (getpoint "\n p3"))
) K/ L# ]9 K  J+ g  (initget 7)
( T/ r4 Z, s# {(setq p4 (getpoint "\n p4")). A8 {; M% R6 a/ f* A' D5 S* I* c9 d' O
(command "line" pc1 pc2"")
' L3 q5 Y1 k9 j# F, v (command "line" p3 p4"")
. _" w1 S0 v+ B (setq ss (entlast))
( f  m* _$ y" ~/ C1 n# Z (command "mirror" ss  pc1 pc2 "")# p: w+ O' b5 B" T2 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 )

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