明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 853|回复: 3

[讨论] 横向等分,源码,无法实现,求助,已更新

[复制链接]
发表于 2015-12-20 14:37 | 显示全部楼层 |阅读模式
本帖最后由 lxg3443 于 2015-12-21 14:29 编辑

初学lisp,好多都不懂。
希望各位前辈看一看是什么问题,帮忙优化和修改一下。
在已经画好的图纸中来做等分的时候是可以用的(有时候也不行),但是在新建的DWG中会等分不了(等分间隔不起作用?)
我自己觉得可能得需要设置UCS,但是这方面我一点都不懂,而且工作当中从来用不到ucs....
请各位多多关照。

成功:



命令失败:





  1. (defun C:tt (/ xyp1 xyp2 xp2 yp2 xleng angx angy yleng $*YM* $*Y01* Y01 xypN)
  2.     (setq xyp1 (getpoint "\n指定左下角第一点: "))
  3.     (setq xyp2 (getcorner xyp1 "\n请点另一角点:"))
  4.     (setq xp2(list (car xyp2)(cadr xyp1) 0.0))
  5.     (setq yp2 (list (car xyp1)(cadr xyp2) 0.0))
  6.     (setq xleng (distance xyp1 xp2))
  7.     (setq angx (angle xyp1 xp2))
  8.      (setq angy (/ pi 2))
  9.     (setq yleng(distance xyp1 yp2))
  10.     (setq $*YM*(getint "\n输入需要等分的分数:"))
  11.     (setq $*Y01*(getint "\n输入需要等分的间隔距离:"))
  12.     (setq Y01 (1+ $*YM*));
  13.     (setq YMLeng (/ (- yleng  (* $*Y01* Y01)) $*YM*))
  14.     (vl-cmdf"_.RECTANG" xyp1 xyp2)
  15.      (setq xypN xyp1)
  16.       (repeat $*YM*
  17.         (setq xypN (polar xypN angy $*Y01*))
  18.         (vl-cmdf"_.line" (polar xypN angx xleng) xypN "" )
  19.         (setq xypN(polar xypN angy YMLeng))
  20.         (vl-cmdf"_.line" (polar xypN angx xleng) xypN "" )
  21.       )
  22.   (princ)
  23. )








本帖子中包含更多资源

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

x

点评

贴图或上dwg文件可能能更好的理解你要表达的意思  发表于 2015-12-20 20:27
贴图或上dwg文件可能能更好的理解你要表达的意思  发表于 2015-12-20 20:26
发表于 2015-12-20 15:20 | 显示全部楼层
~~~~~~~~~~~~~~~~~占个沙发
发表于 2015-12-20 18:41 | 显示全部楼层
等分线用measure命令就好
 楼主| 发表于 2015-12-21 14:30 | 显示全部楼层
Real_King 发表于 2015-12-20 18:41
等分线用measure命令就好

我是想用lisp来等分,系统自带的等分无法满足要求啊...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-30 23:42 , Processed in 0.320122 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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