QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
请教:% r" y/ H' l" p) k/ x* O: L
LISP调用CAD命令如Trim、圆弧化、阵列、镜像等的格式及参数详解
/ Q- r, }1 i; J1 B  J8 i6 Y% D" {: O9 y/ c" o
[ 本帖最后由 抬头见喜 于 2008-5-17 09:33 编辑 ]
 楼主| 发表于 2008-5-15 20:53:08 | 显示全部楼层 来自: 中国山西太原
可能没说清楚5 a: u, f/ c' J" R, [5 w/ l
如:(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 | 显示全部楼层 来自: 中国山西太原
谢谢,总算有人进来了.9 s5 Z0 R0 Q0 m4 f& T/ K9 k
. U2 U4 |# e; Y# B  l* x# f. s) A- B
我的意思是 命令后的内容,5 \3 v" {& e5 |8 j9 S. S1 k
如镜像命令是(command  "mirror" 接下来先是 镜像内容还是对称轴,镜像内容中又是以坐标点,还是对象等等
 楼主| 发表于 2008-5-15 21:15:56 | 显示全部楼层 来自: 中国山西太原
原帖由 maoyangmy 于 2008-5-15 21:13 发表 http://www.3dportal.cn/discuz/images/common/back.gif# f5 f$ l, E9 A$ h, W9 J
可以按照命令执行后进行的操作,给出相应的参数或选择集,其中字符要加引号
- H; ]. K0 [$ Y5 c/ ~, J- v
2 |. H" j6 }& M+ A
. o5 R( ~( G' Z
想知道对应每重命令后参数的具体内容
" `. O# B; ~0 H1 q( [6 v4 l1 M1 j3 L8 l: r: H
% p* d0 ?* [* g. s  o+ Z( f
command " _extend"   格式内容+ J& @, S) d( G0 e. _, @
command "_fillet " XXXXXX
' X1 i5 Y0 ?. N3 _. }1 ccommand  倒角  XXXXXXX9 N9 h7 p: h/ Y/ j5 N
2 Y2 k& @$ j: |7 z4 J! k, v7 r! N
等等  L. n9 ~  W. A1 \: r

# M6 Z4 e4 I) G4 g7 p) a: n[ 本帖最后由 抬头见喜 于 2008-5-15 21:38 编辑 ]
发表于 2008-5-15 22:44:09 | 显示全部楼层 来自: 中国
刚才正帮xiaoxiao88朋友修复文件,没顾上你这里,抱歉!& M8 S7 P( D1 h0 w+ `) V0 @9 w7 i. L
这个是圆角的程序- D( |0 O$ V: Q
(defun c:aaaa()
+ }4 F* g) [0 M9 u; Q! i  (setq p1(list 0 0))- S; o$ f+ i# M6 P; H8 l3 F7 T
  (setq p2(list 10 10))) [5 F$ G+ [& {6 U
  (setq p3(list 11 10))
3 |3 g# Z  A8 h- V5 O& T& d  (setq p4(list 21 0))
. Z3 u1 }4 A' ^" s' k  (command "line" p1 p2 "")
, Y6 R# P8 s* ]2 B! j1 w  (setq l1(entlast))! [( B, a; F" ]& }0 z3 b0 i* a
  (command "line" p3 p4 "")
5 W8 `3 U; I9 E, Q* p: n  (setq l2(entlast))
8 g& w( H) v! }) B" Z  (command "fillet" "t" "t" "r" 2)  `! m: p; z' l! i$ {6 l: @
  (command "fillet" l1 l2)1 F5 `# r# [9 y+ ]5 G* i
  (princ)
5 I, H) J' O" s/ W) u3 M0 I )6 b: f* A) U0 }$ W4 `& }6 z

) ?( }; Y  I/ Z0 l% L6 W其实调用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 | 显示全部楼层 来自: 中国河南郑州
这是一个镜像程序,不妨一试:
7 k5 C; h4 r# ^* \& }(defun c:mi( )
& @- @8 l3 z, q6 N, s7 k (initget 7)
2 F0 `. b' P1 u- {% o (setq pc1 (getpoint "\n pc1"))
5 ?: A( D3 M' g) Q1 M7 M  (initget 7)9 O" e5 `% ^  [
(setq pc2 (getpoint "\n pc2"))+ O8 h: H0 C  S: N
(initget 7)
( H# E3 t( O9 \* V1 i; T, P (setq p3 (getpoint "\n p3"))
3 V9 @6 t, A! U9 i, r! T! g4 S  (initget 7)
' W7 ~, h! s# T+ A0 R5 z. c+ C( Y(setq p4 (getpoint "\n p4"))2 F& I6 |+ [3 b" p. ]4 D9 n% R
(command "line" pc1 pc2"")
' w9 j9 z2 w- |- b (command "line" p3 p4"")8 W; X- u  B# W
(setq ss (entlast))
& J( D0 |  Q1 _' X7 D- X! O (command "mirror" ss  pc1 pc2 "")0 Q5 B) B4 ?" f3 ^" V: N. I5 B
)
发表于 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 )

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