明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 973|回复: 5

[提问] 直接按比例画图形

[复制链接]
发表于 2015-2-12 13:16 | 显示全部楼层 |阅读模式
直接按比例画图形。比如画园,正方形时先要求输入一个比例值,然后程序按这个比例画出图形,这样的程序如何写


"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2015-2-12 14:05 | 显示全部楼层
(defun C:test(/ pt1 pt2 scale)
   ;;保存系统变量设置
  (setq old_OS  (getvar "OSMODE")
      old_CMD (getvar "CMDECHO")
       old_OR (getvar "OrthoMode")
    )
  (setvar "CMDECHO" 0)
  (setvar "OSMODE" 0)
  ;(setvar "OrthoMode" 0)
  
  (setq scale (getreal "\nScale<100>:"))
        (if (= scale nil)
                (setq scale 100)
        )
  (setq pt1 (getpoint "\nFirst point:"))
  (setq pt2 (getpoint pt1 "\nSecond point:"))
          (command "rectang" pt1 pt2 "")
            (ssadd (entlast) door)
(command "SCALE" door "" pt1 "scale")
   
   ;;恢复系统变量设置
    (setvar "CMDECHO" old_CMD)
    (setvar "OSMODE" old_OS)
    (setvar "OrthoMode" old_OR)
  (princ)(princ)
)      
没人出手,我自己写了一个,在两句(ssadd (entlast) door)
(command "SCALE" door "" pt1 "scale") 好像有点问题,请高手看看
发表于 2015-2-12 14:08 | 显示全部楼层
check 'CmdActive
发表于 2015-2-12 14:15 | 显示全部楼层
  1. (setq scale (getreal "\nScale<100>:"))
  2.         (if (= scale nil)
  3.                 (setq scale 100)
  4.         )
  5.   (setq pt1 (getpoint "\nFirst point:"))
  6.   (setq pt2 (getpoint pt1 "\nSecond point:"))
  7.           (command "rectang" pt1 pt2 )
  8.             (setq door (entlast))
  9. (command "SCALE" door "" pt1 scale )
 楼主| 发表于 2015-2-12 16:05 | 显示全部楼层
谢谢楼上的朋友,还想问一下,如何读取系统变量DIMLFAC的值赋给上面程序中的scale
发表于 2015-2-13 15:47 | 显示全部楼层
(setq scale(getvar "DIMLFAC"))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 06:23 , Processed in 0.531521 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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