明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2139|回复: 14

一个很简单的操作,但小弟不会写,求助各位高手!!

  [复制链接]
发表于 2012-4-28 12:15 | 显示全部楼层 |阅读模式
这个应该很简单的函数式就可以实现吧,但小弟没学过不懂搞,想请高手帮帮忙:画一条直线,然后得出以此直线为长的定比例的矩形,比如说画3m的直线,最后得出一个3mx1m的矩形,有没有大侠给点提示或者类似的函数,谢了。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-8-31 11:22 | 显示全部楼层
你好这个能否引伸下,宽度在图中用鼠标量取,然后画长度方向,生成矩形
发表于 2018-8-31 12:21 | 显示全部楼层
内定 3.0
改以 GetDist 取值即可
发表于 2012-4-28 12:29 | 显示全部楼层
应是可行,但示例不足,难成代码
发表于 2012-4-28 13:14 | 显示全部楼层
本帖最后由 革天明 于 2012-4-28 13:16 编辑

看看这段代码够不够你使用,比例为3:1,想改的话修改下面红色的部分。
(defun c:31 ()
  (setq        p1        (getpoint "\n请输入第一点:")
        p2        (getpoint p1 "\n请输入第二点:")
        os_mode        (getvar "osmode")
        ang        (angle p1 p2)
        p3        (polar p2 (+ ang (* 0.5 pi)) (/ (distance p1 p2) 3.0))
        p4        (polar p1 (+ ang (* 0.5 pi)) (/ (distance p1 p2) 3.0))
  )
  (setvar "osmode" 0)
  (command "_line" p1 p2 p3 p4 "c")
  (setvar "osmode" os_mode)
)

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-4-28 13:23 | 显示全部楼层
革天明 发表于 2012-4-28 13:14
看看这段代码够不够你使用,比例为3:1,想改的话修改下面红色的部分。
(defun c:31 ()
  (setq        p ...

谢谢你,已经满足我使用了,非常感谢
另可以实现最后的矩形是一条线的吗?如果很麻烦就算了,呵呵····
 楼主| 发表于 2012-4-28 13:26 | 显示全部楼层
哦 ,我自己看了下,是不是 把 (command "_line" p1 p2 p3 p4 "c") 里面的line命令改成Pline就行了呢···
 楼主| 发表于 2012-4-28 13:43 | 显示全部楼层
根据 革天明 大哥的思路,直接把最后的一步改成画矩形也行,关键是思路对头,当初想就是画根线然后偏移啊或者复制啊,还是大侠厉害啊,问题解决了,再次感谢,谢谢······

(defun c:33 ()
  (setq        p1        (getpoint "\n请输入第一点:")
        p2        (getpoint p1 "\n请输入第二点:")
        os_mode        (getvar "osmode")
        ang        (angle p1 p2)
        p3        (polar p2 (+ ang (* 0.5 pi)) (/ (distance p1 p2) 3.0))
        p4        (polar p1 (+ ang (* 0.5 pi)) (/ (distance p1 p2) 3.0))
  )
  (setvar "osmode" 0)
  (command "_RECTANGLE" p1 p3)
  (setvar "osmode" os_mode)
)
发表于 2012-4-28 14:10 | 显示全部楼层
试试非水平线时若何?
 楼主| 发表于 2012-4-28 14:21 | 显示全部楼层
Andyhon 发表于 2012-4-28 14:10
试试非水平线时若何?

哦,非水平的时候直接画矩形就不行了···
发表于 2012-4-28 14:27 | 显示全部楼层
start4444 发表于 2012-4-28 14:21
哦,非水平的时候直接画矩形就不行了···

方法1:旋转
方法2:(command "_line" p1 p2 p3 p4 "c") 再使用PEDIT生成多段线
 楼主| 发表于 2012-4-28 14:33 | 显示全部楼层
革天明 发表于 2012-4-28 14:27
方法1:旋转
方法2:(command "_line" p1 p2 p3 p4 "c") 再使用PEDIT生成多段线

嗯,用你的代码把最后画直线命令改为多段线命令就完美解决了,非水平也行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 20:34 , Processed in 0.263925 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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