明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2262|回复: 13

[提问] 两点等分,圆改XLINE怎么写

[复制链接]
发表于 2014-3-13 21:56 | 显示全部楼层 |阅读模式
(defun c:tt()
  (setvar "CMDECHO" 0)
  (setq  p1 (getpoint "\n第一点:")
  p2 (getpoint p1 "\n第二点:")
  )
;;;两点距离
  (princ
    (strcat "\n****两点距离:" (rtos (distance p1 p2) 2 3))
  )
;;;等分数量:
  (setq n (getint "\n等分数量:"))
;;;等分子函数,根据两点点及等分数量得出等分点列表
  (defun tt-df (p1 p2 n)
    (if  (> (1- n) 0)
      (cons (polar p1 (angle p1 p2) (/ (distance p1 p2) n 1.0))
      (tt-df (polar p1 (angle p1 p2) (/ (distance p1 p2) n 1.0))
       p2
       (1- n)
      )
      )
    )
  )
;;;等分点列表
  (setq lst (tt-df p1 p2 n))
;;; 起点、终点、等分点处画园
  (mapcar '(lambda (x) (vl-cmdf "CIRCLE" x 1.0))
    (append (list p1) lst (list p2))
  )
  (prin1)
)
 楼主| 发表于 2014-3-13 21:57 | 显示全部楼层
路过的大师请帮忙,谢谢!
 楼主| 发表于 2014-3-17 23:59 | 显示全部楼层
;;; 起点、终点、等分点处画园
  (mapcar '(lambda (x) (vl-cmdf "CIRCLE" x 1.0))
    (append (list p1) lst (list p2))
  )
  (prin1)
)
 楼主| 发表于 2014-3-18 00:03 | 显示全部楼层
现在等分后的标记是圆,想改成等分后的标记是XLINE,怎么改呀,请大侠帮忙!
 楼主| 发表于 2014-3-18 00:09 | 显示全部楼层
示意图片!

本帖子中包含更多资源

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

x
发表于 2014-7-13 15:54 | 显示全部楼层
有解决了么?
发表于 2014-7-13 16:38 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "CMDECHO" 0)
  3.   (defun tt-df (p1 p2 nn / dd rr ptn)
  4.     (setq dd (/ (distance p1 p2) nn 1.0)
  5.           rr (angle p1 p2)
  6.     )
  7.     (repeat (1- nn)
  8.       (setq p1 (polar p1 rr dd)
  9.             ptn (cons p1 ptn)
  10.       )
  11.     )
  12.     (reverse ptn)
  13.   )
  14.   (setq p1 (getpoint "\n第一点: ")
  15.         p2 (getpoint p1 "\n第二点: ")
  16.         nn (Uint 7 "" "等分数量" nn)
  17.         rr (angle p1 p2)
  18.   )
  19.   (foreach x (tt-df p1 p2 nn)(vl-cmdf "xline" x (polar x (+ rr (* pi 0.5)) 1.0) ""))
  20.   (princ)
  21. )
发表于 2014-7-21 02:07 来自手机 | 显示全部楼层
跳出错误!!!!!
发表于 2014-11-23 23:39 来自手机 | 显示全部楼层
有人帮忙看看吗?谢谢了
发表于 2014-11-24 08:06 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "CMDECHO" 0)
  3.   (defun tt-df (p1 p2 nn / dd rr ptn)
  4.     (setq dd (/ (distance p1 p2) nn 1.0)
  5.           rr (angle p1 p2)
  6.           ptn (list p1)
  7.     )
  8.     (repeat (1- nn)
  9.       (setq p1 (polar p1 rr dd)
  10.             ptn (cons p1 ptn)
  11.       )
  12.     )
  13.     (reverse(cons p2 ptn))
  14.   )
  15.   (setq p1 (getpoint "\n第一点: ")
  16.         p2 (getpoint p1 "\n第二点: ")
  17.         nn (getint "\n等分数量")
  18.         rr (angle p1 p2)
  19.   )
  20.   (foreach x (tt-df p1 p2 nn)(vl-cmdf "xline" x (polar x (+ rr (* pi 0.5)) 1.0) ""))
  21.   (princ)
  22. )

评分

参与人数 1明经币 +1 收起 理由
hooboxu + 1 Z版 出手 感恩..

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-25 14:22 , Processed in 0.891558 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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