找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 529|回复: 1

[求助]:怎样用下图中的线形画一个矩形型的方框,这个用什么命令设置呢

[复制链接]
发表于 2005-11-29 11:58:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
画一个此类型的圆呢,又是怎样画的啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-11-29 12:15:41 | 显示全部楼层
用用这个程序!

这是在本论谈中别人发过的
加载后 blx 命令 分别画矩形的四个边
(defun c:blx (/ boch pt pt1 pt2 pt3 dist lis ang0 ang)
  (SETQ OLDOS (GETVAR "OSMODE"))
  (if (= bofu nil)
    (setq bofu1 20)
  )
  (if (= bochang nil)
    (setq bochang1 50)
  )
  (if (/= (setq oldcmd (getvar "cmdecho")) 0)
    (setvar "cmdecho" 0)
  )
  (prompt "\n请输入波幅<")
  (princ bofu1)
  (if (= (setq bofu (getreal ">:")) nil)
    (setq bofu bofu1)
    (setq bofu1 bofu)
  )
  (prompt "\n请输入波长<")
  (princ bochang1)
  (if (= (setq bochang (getreal ">:")) nil)
    (setq bochang bochang1)
    (setq bochang1 bochang)
  )
  (initget "Yes No")
  (setq id (getkword "\n是否重新计算波长?Yes [No]:"))
  (if (= id nil)
    (setq id "No")
  )
  (if (setq pt1 (getpoint "\n开始画波浪线(回车退出):"))
    (progn
      (while (setq pt2 (getpoint pt1 "\n下一点(回车退出):"))
        (setq dist (distance pt1 pt2))
        (setq ang0 (angle pt1 pt2))
        (setq n (fix (/ dist bochang)))
        (while (= n 0)
          (prompt "\n该段长度比波长小,请重新输入:")
          (setq pt2 (getpoint pt1 "\n下一点(回车退出):"))
          (if (/= pt2 nil)
            (progn
              (setq dist (distance pt1 pt2))
              (setq ang0 (angle pt1 pt2))
              (setq n (fix (/ dist bochang)))
            )
            (setq n nil)
          )
        )
        (if (/= pt2 nil)
          (progn
            (if        (= id "No")
              (setq boch (/ bochang 4))
              (setq boch (/ dist (* n 4)))             
            )
            (setq dist (sqrt (+ (* boch boch) (* bofu bofu))))
            (setq lis (list (atan bofu boch)
                            (- 0 (atan bofu boch))
                            (- 0 (atan bofu boch))
                            (atan bofu boch)
                      )
            )
            (setq pt3 pt1)
            (IF        (< (- OLDOS 16384) 0)
              (SETVAR "OSMODE" (+ OLDOS 16384))
            )
            (command "spline" pt1)
            (repeat n
              (foreach ang lis
                (setq pt (polar pt3 (+ ang0 ang) dist))
                (setq pt3 pt)
                (command pt)
              )
            )
            (command "" "" "")
            (setq pt1 pt)
            (SETVAR "OSMODE" OLDOS)
          )
        )
      )
    )
  )
  (SETVAR "OSMODE" OLDOS)
  (setvar "cmdecho" OLDCMD)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-11-21 13:07 , Processed in 0.165395 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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