QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3679|回复: 17
收起左侧

[求助] 请教一个CAL命令问题

[复制链接]
发表于 2014-4-6 14:11:17 | 显示全部楼层 |阅读模式 来自: 中国广西南宁

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

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

x
看到一个教程,说是在作带有根号长度的矩形,可调用CAL命令来完成。例如作一(根号99)*(根号50)的矩形,可用[@sqrt(99),sqrt(50)]表达式。教程里用的好象是06的版本,但我用08、13两个版本画时,都失败了,提示说:需要二维角点或关键字。这个问题困扰了许久,请大神解惑。
; f! }! s8 K& w3 d1 L9 u% M8 z; H
+ U0 r, |) [& x4 T CAL问题1.gif : |: o' I" f8 R1 c- |5 X2 S- T

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 发起技术讨论

查看全部评分

发表于 2014-4-6 14:56:56 | 显示全部楼层 来自: 中国江苏无锡
,很少计算哦,只会画图。
111111.jpg

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-6 15:48:53 | 显示全部楼层 来自: 中国辽宁鞍山
kf.gif

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

 楼主| 发表于 2014-4-6 16:27:09 | 显示全部楼层 来自: 中国广西南宁
www1974 发表于 2014-4-6 14:56 static/image/common/back.gif- G' O# ]$ n0 Y& y
,很少计算哦,只会画图。
7 y: l; _& H% ]  D+ a
这个图用几何法是可以作出来的,我现在的问题是用表达式为什么会提示无效。
0 S0 t  f& J& I 898.JPG % N4 F/ x+ \; j" l7 ~
发表于 2014-4-6 19:34:01 | 显示全部楼层 来自: 中国江苏无锡
画直线试试,但一般作图为啥要计算器呢?
发表于 2014-4-8 12:34:14 | 显示全部楼层 来自: 中国辽宁抚顺
"矩形"实质上是二维多段线,它的节点都是由两个实数组成数组.而CAL命令的方括号计算结果是三个实数组成的数组,二者不兼容.不仅矩形命令不能这样用,二维多段线和正多边形也不行

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-8 13:12:18 | 显示全部楼层 来自: 中国陕西西安
woaishuijia 发表于 2014-4-8 12:34 static/image/common/back.gif0 ~# f3 {" R$ k' F. T8 n5 C
"矩形"实质上是二维多段线,它的节点都是由两个实数组成数组.而CAL命令的方括号计算结果是三个实数组成的数组 ...

6 \) ~' p  B7 ]原来是这样啊。也就是说  'cal   还含有Z坐标在内,是吗?
 楼主| 发表于 2014-4-8 17:25:43 | 显示全部楼层 来自: 中国广西南宁
woaishuijia 发表于 2014-4-8 12:34 static/image/common/back.gif
( [( t& n  C& p$ m"矩形"实质上是二维多段线,它的节点都是由两个实数组成数组.而CAL命令的方括号计算结果是三个实数组成的数组 ...
) v" e) G2 \) H: `
多谢老师解答。但我看在教程里是可以实现的。下面是原教程的演示动画,我按教程的来做,就是做不出。不知何因?在原贴中有人跟贴说做不出,也有人说做得出,就是没有一个明确答案。
$ a0 y+ _( b3 w& A3 C0 I) zhttp://bbs.jcwcn.com/thread-57397-1-1.html这个是原贴的地址。1 r1 G6 \; ~- o1 O) I" Y3 `3 ?
8 i# E2 Z6 o9 D; E' U
99,50.gif 4 B9 y0 v5 K; F7 w0 \

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-8 20:02:06 | 显示全部楼层 来自: 中国江苏苏州
本帖最后由 wupeiqi 于 2014-4-8 20:05 编辑 * a# x# A) }. S. b9 H" n

8 {0 n2 t) W( }: f用[@计算式,计算式]好象不能用
# `8 H+ a, M2 q$ \8 n+ \; n) S3 ]8 \用D选项分别计算长、宽是可以的。
' O1 ]' C$ O7 P; O. ^+ g! M! I5 @RECTANG; i0 Q: }; T6 V) i) @% E
指定第一个角点或 [倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]:: O- b' f+ A9 R6 q. M* `
指定另一个角点或 [面积(A)/尺寸(D)/旋转(R)]: d0 Q" ]; I' ]' U1 ^" ]. @: {$ F, V
指定矩形的长度 <10.0000>: 'cal" T, B" ^, [, I
>>>> 表达式: 99^(1/2)
* {: I% ?/ {+ S/ D: d) F7 _0 ~正在恢复执行 RECTANG 命令。) D% _9 d, S( ^" J9 U# R
指定矩形的长度 <10.0000>: 9.9498743710662" t. l/ z/ g3 P: k, b+ ^
指定矩形的宽度 <10.0000>: 'cal
9 s* d5 u) b  {& v6 l% g; J0 P>>>> 表达式: 50^(1/2)$ t: ?- Y) M9 a* J7 j  P
正在恢复执行 RECTANG 命令。+ z9 c( f7 o: i* P
指定矩形的宽度 <10.0000>: 7.0710678118655
" {; [8 U- W4 N

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-9 08:48:35 | 显示全部楼层 来自: 中国辽宁抚顺
我爱用acad 发表于 2014-4-8 13:12 static/image/common/back.gif6 m5 y( _/ }% E0 @
原来是这样啊。也就是说  'cal   还含有Z坐标在内,是吗?

! i8 ^1 r3 c# v' {2 v0 ?' e是的.问题就出在这个Z坐标上.
# n# Z9 Q! C* A# `/ e# s早期版本的CAD二维多段线节点是三个实数的数组,所以你看到的教程是可以的.我也不记得从什么时候开始二维多段线的节点改成两个实数的数组了,现在不能用CAL计算二维多段线的节点了.( U1 v1 p/ }" Z/ V# I) ~$ O
三维多段线可以.

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

 楼主| 发表于 2014-4-9 10:37:33 | 显示全部楼层 来自: 中国广西南宁
woaishuijia 发表于 2014-4-9 08:48 static/image/common/back.gif( X; ^, d$ Y" b9 M5 Y7 Y6 S. Q
是的.问题就出在这个Z坐标上.
$ ]" \; W6 J. x: C' D4 i早期版本的CAD二维多段线节点是三个实数的数组,所以你看到的教程是可以的. ...

8 k1 T3 e( C+ R% i9 _0 o: }原来是这样,非常感谢老师解惑!
# r# m* c, J% U5 Z, C我想到了一个变通的方法:先作一个点,然后用表达式去定义REC的第一个角点,第二个角点捕捉已知点即可完成矩形。+ j: j, _3 Q7 K5 ^
CAl.jpg
& @# ~' ~# d  ]2 t4 x; a0 r+ g

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-9 13:11:50 | 显示全部楼层 来自: 中国江苏无锡
(command "._rectang" (getpoint) "non" (reverse(cdr(reverse (cal "[@99^0.5,50^0.5,0]")))) )
 楼主| 发表于 2014-4-9 15:00:34 | 显示全部楼层 来自: 中国广西南宁
www1974 发表于 2014-4-9 13:11 static/image/common/back.gif
! z/ P" l1 h/ y4 t(command "._rectang" (getpoint) "non" (reverse(cdr(reverse (cal "[@99^0.5,50^0.5,0]")))) )

; B' Q3 r1 x: o$ J) u大神,你这个是什么代码?不会用。
发表于 2014-4-9 20:24:01 | 显示全部楼层 来自: 中国江苏无锡
那上面那串全部复制到命令行回车就好了。
发表于 2014-4-9 20:43:01 | 显示全部楼层 来自: 中国江苏无锡
(command "cal" ^C); g/ ]. G4 D7 U3 m/ B; A
(defun c:tt1 ( / a)
( b3 g6 P& T# I' Z! ](setq a "1")
! s3 [5 S- n* K$ X2 C7 ](command "._rectang" (getpoint "左下角点") "non" / T# w" }# q& S/ [
  (progn (while (= nil (listp a)) (setq a (cal(getstring "输入右上角坐标计算式"))))  z' f) {7 R& X, k6 C5 y* S
       (reverse (cdr(reverse a)))4 z4 O. @8 y6 Y
  ). g" H9 }8 C1 P+ A. M
)
9 }2 B% c9 v( b8 s% a+ q)
# ~5 M( [+ {) X* S! \)
# h. m: i# I$ M( Z3 D) y1 f5 X
MJ.gif

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2014-4-9 22:43:55 | 显示全部楼层 来自: 中国河北保定
woaishuijia 发表于 2014-4-9 08:48 static/image/common/back.gif( t9 {8 M: q$ j' N0 y5 B0 A: j
是的.问题就出在这个Z坐标上.) h* X: j6 m+ I+ T& I
早期版本的CAD二维多段线节点是三个实数的数组,所以你看到的教程是可以的. ...

" V; _* c- y- ]: p& L" L6 t感谢版主解答。学习啦
发表于 2014-4-10 08:04:58 | 显示全部楼层 来自: 中国山东东营
学习了        
 楼主| 发表于 2014-4-10 09:59:05 | 显示全部楼层 来自: 中国广西南宁
www1974 发表于 2014-4-9 20:43 static/image/common/back.gif: z& v7 z( Z2 f0 D2 }4 b( Y; i: B
(command "cal" ^C)
: y# G2 x# r& Z' k. f7 t(defun c:tt1 ( / a)
1 j$ h- f+ @2 u$ A9 c1 |, I3 h( R(setq a "1")

2 {: A% n4 R, v, O0 F) B( x8 ]& s大神果然厉害,学习了,谢谢
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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