明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2456|回复: 11

[已解答] 各位大师你们好,能否给看看这个程序。

[复制链接]
发表于 2014-7-18 21:52:04 | 显示全部楼层 |阅读模式
我写了一个简单的程序,只是实现了第一步圆的操作,矩形操作没有实现,请各位老师予以指点,能实现这个圆和矩形相结合的整体  谢谢啦  小弟是初学者   请各位老师 帮助  谢谢
(defun C:tt()
   (setvar "cmdecho" 0)
   (setq z1 (getpoint "\n中心点:")
         r1 (getreal "\n半 径:")
         h1 (getdist "\n高 度1:")
         h2 (getdist "\n高 度2:")
         l (getdist "\n长 度:")
         w (getdist "\n宽 度:")
   )
(command "circle" z1 r1 "")
(setq yx (entlast))
(vl-cmdf "extrude" yx "" h1 "")
(setq p1 ((- (car z1) (/ l 2)) (+ (cadr z1) (/ w 2))   h1)
      p2 ((- (car z1) (/ l 2)) (- (cadr z1) (/ w 2))   h1)
      p3 ((+ (car z1) (/ l 2)) (- (cadr z1) (/ w 2))   h1)
      p4 ((+ (car z1) (/ l 2)) (+ (cadr z1) (/ w 2))   h1)
   )
(command "pline" p1 p2 p3 p4 "c")
(setq jx (entlast))
(vl-cmdf "extrude" jx "" h2 "")
(princ)
)
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2014-7-18 21:54:45 | 显示全部楼层
矩形主要是想在圆拉伸高度的地方绘制一个具有标高(Z值)的矩形, 执行提醒:; 错误: 函数错误: 370.488,每次值不一样  我想着是不是我的那个数值类型不对  还是哪里不对  请各位老师帮助  在此感谢了
发表于 2014-7-18 22:19:25 | 显示全部楼层
杜阳 发表于 2014-7-18 21:54
矩形主要是想在圆拉伸高度的地方绘制一个具有标高(Z值)的矩形, 执行提醒:; 错误: 函数错误: 370.488,每 ...

这里错了,自己找找看问题在哪!
(setq p1 ((- (car z1) (/ l 2)) (+ (cadr z1) (/ w 2))   h1)
      p2 ((- (car z1) (/ l 2)) (- (cadr z1) (/ w 2))   h1)
      p3 ((+ (car z1) (/ l 2)) (- (cadr z1) (/ w 2))   h1)
      p4 ((+ (car z1) (/ l 2)) (+ (cadr z1) (/ w 2))   h1)
   )
发表于 2014-7-18 22:19:39 | 显示全部楼层
(setq p1 (list (- (car z1) (/ l 2.0)) (+ (cadr z1) (/ w 2.0))   h1)
      p2 (list (- (car z1) (/ l 2.0)) (- (cadr z1) (/ w 2.0))   h1)
      p3 (list (+ (car z1) (/ l 2.0)) (- (cadr z1) (/ w 2.0))   h1)
      p4 (list (+ (car z1) (/ l 2.0)) (+ (cadr z1) (/ w 2.0))   h1)
   )

得先关捕捉
无从校验,且试试呗!
发表于 2014-7-19 08:03:37 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "cmdecho" 0)
  3.   (setq z1 (getpoint "\n中心点: ")
  4.         r1 (UREAL 7 "" "半径" r1)
  5.         h1 (Udist 7 "" "高度1<输入或鼠标直接量取>" h1 nil)
  6.         h2 (Udist 7 "" "高度2<输入或鼠标直接量取>" h2 nil)
  7.         l  (Udist 7 "" "长度<输入或鼠标直接量取>" l nil)
  8.         w  (Udist 7 "" "宽度<输入或鼠标直接量取>" w nil)
  9.         dl (/ l 2.)
  10.         dw (/ w 2.)
  11.   )
  12.   (command "circle" z1 r1)
  13.   (setq yx (entlast))
  14.   (vl-cmdf "extrude" yx "" h1 "")
  15.   (setq        p1 (list (- (car z1) dl) (+ (cadr z1) dw) h1)
  16.         p2 (list (- (car z1) dl) (- (cadr z1) dw) h1)
  17.         p3 (list (+ (car z1) dl) (- (cadr z1) dw) h1)
  18.         p4 (list (+ (car z1) dl) (+ (cadr z1) dw) h1)
  19.   )
  20.   (command "pline" p1 p2 p3 p4 "c")
  21.   (setq jx (entlast))
  22.   (vl-cmdf "extrude" jx "" h2 "")
  23.   (princ)
  24. )
发表于 2014-7-19 08:31:17 | 显示全部楼层
  1. (defun c:tt()
  2. (setvar "cmdecho" 0)
  3. (setq z1 (getpoint "\n中心点:")
  4.       r1 (getdist z1 "\n半 径:")
  5.       h1 (getdist z1 "\n高 度1:")
  6.       h2 (getdist "\n高 度2:")
  7.       l (getdist "\n长 度:")
  8.       w (getdist "\n宽 度:")
  9.       l2 (/ l 2)
  10.       w2 (/ w 2)
  11. )
  12. (command "circle" z1 r1)
  13. (vl-cmdf "extrude" "L" "" h1)
  14. (setq yx (entlast))
  15. (setq p1 (list(- (car z1) l2) (+ (cadr z1) w2)  h1)
  16.       p2 (list(- (car z1) l2) (- (cadr z1) w2)  h1)
  17.       p3 (list(+ (car z1) l2) (- (cadr z1) w2)  h1)
  18.       p4 (list(+ (car z1) l2) (+ (cadr z1) w2)  h1)
  19. )
  20. (command "_.3DPOLY" p1 p2 p3 p4 "c")
  21. (vl-cmdf "extrude" "L" "" h2 )
  22. (vl-cmdf "_.UNION" "L" yx "")
  23. (princ)
  24. )
 楼主| 发表于 2014-7-19 17:37:48 | 显示全部楼层
xyp1964 发表于 2014-7-19 08:03

院长老师你好,这两个函数  没有啊  Udist 7,,UREAL 7,,能否赐予学生  谢谢了

点评

论坛里搜一下就有了  发表于 2014-7-19 18:39
 楼主| 发表于 2014-7-19 17:40:11 | 显示全部楼层
ZZXXQQ 发表于 2014-7-19 08:31

你好  老师  你这个和我上面的执行结果是一样的  光画圆柱不画带有标高的矩形体   急等两位老师的解答  谢谢
 楼主| 发表于 2014-7-19 17:45:13 | 显示全部楼层
Andyhon 发表于 2014-7-18 22:19
(setq p1 (list (- (car z1) (/ l 2.0)) (+ (cadr z1) (/ w 2.0))   h1)
      p2 (list (- (car z1) (/ l ...

谢谢长老   我把你这段加入    执行了  圆柱体和矩形体的结合体   谢谢你   学生非常感谢   谢谢   
 楼主| 发表于 2014-7-19 17:53:41 | 显示全部楼层
Andyhon 发表于 2014-7-18 22:19
(setq p1 (list (- (car z1) (/ l 2.0)) (+ (cadr z1) (/ w 2.0))   h1)
      p2 (list (- (car z1) (/ l ...

谢谢 老师了  在此感谢  ,如果我把一个z值为0的圆形外偏移一定的距离得到第二个圆,用什么方法把第二个圆给设定一个输入的z值呢   学生等候老师的回答  谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 09:58 , Processed in 0.210778 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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