明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1043|回复: 2

[已解答] 以下是等分线画XL线的源码,请问怎么取消首尾的两根XL线只保留中间的.

[复制链接]
发表于 2016-7-26 19:23 | 显示全部楼层 |阅读模式
3明经币
以下是等分线画XL线的源码,请问怎么取消首尾的两根XL线只保留中间的.

(defun c:daa1 () ( c:dfx1)(princ))
(defun c:dfx1 (/ nn p1 p2 rr tt-df)
  (setvar "CMDECHO" 0)
  (defun tt-df (p1 p2 nn / dd rr ptn)
    (setq dd (/ (distance p1 p2) nn 1.0)
          rr (angle p1 p2)
          ptn (list p1)
    )
    (repeat (1- nn)
      (setq p1 (polar p1 rr dd)
            ptn (cons p1 ptn)
      )
    )
    (reverse(cons p2 ptn))
  )
  (setq p1 (getpoint "\n第一点: ")
        p2 (getpoint p1 "\n第二点: ")
        nn  (getint "\n等分数量<2>")
        rr (angle p1 p2)
  )
        (if (null nn) (setq nn 2))
  (foreach x (tt-df p1 p2 nn)(command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) ""))
  (princ)
)


最佳答案

查看完整内容

(foreach x (tt-df p1 p2 nn)(command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) "")) 改成 (foreach x (cdr (reverse (cdr (tt-df p1 p2 nn)))) (command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) ""))
发表于 2016-7-26 19:23 | 显示全部楼层
(foreach x (tt-df p1 p2 nn)(command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) ""))
改成
(foreach x (cdr (reverse (cdr (tt-df p1 p2 nn)))) (command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) ""))
回复

使用道具 举报

 楼主| 发表于 2016-7-26 21:03 | 显示全部楼层
kozmosovia 发表于 2016-7-26 20:05
(foreach x (tt-df p1 p2 nn)(command -s "xline" "_non" x "_non" (polar x (+ rr (* pi 0.5)) 1.0) ""))
...

太给力了.谢谢你了,兄台.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 04:04 , Processed in 1.024388 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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