明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2448|回复: 4

[基础] 求助:"rectang"命令绘制出来的是直线?

  [复制链接]
发表于 2010-10-28 12:51:00 | 显示全部楼层 |阅读模式

大家好,我刚学Auotlsp的,自己设计了个程序,用到了rectang命令,但是绘制出来的是直线,有时候又会出现矩形,但位置与我指定的位置不一致,不知是何缘故,麻烦大家指点一二,谢谢!

以下是代码:

;***********************************<<CG>>***********************************
;此程序是实现自动绘制栏杆的平面,用户输入栏杆起始点,栏杆宽为50mm,柱子的间距为500mm。
(defun c:lg()
;;;  准备及用户输入阶段
  (setvar "cmdecho" 0)
  (setq pt (getpoint "\n请输入栏杆起始点:"))
  (setq len (getdist pt "\n请输入栏杆长度:"))
  (initget "U u D d")
  (setq drt (getkword "\n请输入栏杆方向U OR D <U>"))
 
;;;  保存当前图层信息,并设置栏杆绘制的图层为“栏杆”
  (setq cl (getvar "clayer"))  ;保存当前图层名称
  (setq chklay (tblsearch "layer" "栏杆"))
  ;若没有栏杆图层,则新建立该图层
  (if (null chklay)
    (command "-layer" "n" "栏杆" "c" "6" "栏杆" "")
    )
  (setvar "clayer" "栏杆") ;设置栏杆绘制的新图层
 
;;;  绘制栏杆的矩形
  (if (= drt nil) (setq drt "U"))
  (setq drt (strcase drt))
  (if (= drt "D") (recdrd))
  (if (= drt "U") (recdru))
 
;;;  绘制栏杆的柱子
  ;绘制起始圆
  (setq my (+ (cadr pt1) 25))
  (setq mpt (list (car pt1) my))
  (command "circle" mpt 25 "")
  (setq n (/ len 500))
  (setq n (fix n))
  (setq en1 (entlast))
  (command "array" en1 "" "" "" (1+ n) 500)

  (setvar "clayer" cl)
  )

;;;根据pt点绘制D向矩形
  (defun recdrd ( )
    ;确定矩形的第一个点
    (setq mx (+ (car pt) 50))
    (setq my (- (cadr pt) 50))
    (setq pt1 (list mx my))
    ;确定矩形的第二个点
    (setq mx (+ (car pt1) (- len 100)))
    (setq my (- (cadr pt1) 50))
    (setq pt2 (list mx my))
    (command "rectang" pt1 pt2 )
    (prompt"\n 执行向下绘制矩形命令")
  )
;;;根据pt点绘制U向矩形
  (defun recdru ( )
    ;确定矩形的第一个点
    (setq mx (+ (car pt) 50))
    (setq my (+ (cadr pt) 50))
    (setq pt1 (list mx my))
    ;确定矩形的第二个点
    (setq mx (+ (car pt1) (- len 100)))
    (setq my (+ (cadr pt1) 50))
    (setq pt2 (list mx my))
    (command "rectang" pt1 pt2 )
    (prompt"\n 执行向上绘制矩形命令")

  )

  
(prompt"\n **********<<LG>>**********实现自动绘制栏杆的平面**********")
(prin1)
;***********************************<<CG>>***********************************

发表于 2010-10-28 13:33:00 | 显示全部楼层
关闭捕捉模式再试
 楼主| 发表于 2010-10-28 15:41:00 | 显示全部楼层

求助:"rectang"命令绘制出来的是直线?

问题已解决,不胜感激!

发表于 2012-10-29 20:34:18 | 显示全部楼层
楼主 怎么样才能分别给绘制矩形和绘制圆设定不同的图层呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-26 03:17 , Processed in 0.157003 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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