明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1892|回复: 5

我想取得长度为35这条直线的中点坐标

[复制链接]
发表于 2004-12-23 19:46:00 | 显示全部楼层 |阅读模式
我想取得长度为35这条直线的中点坐标。我该如何作?(离它最近的点我也不知道的情况下)
发表于 2004-12-23 20:13:00 | 显示全部楼层
本帖最后由 作者 于 2004-12-25 19:40:40 编辑

;;;试试:
  1. (defun c:test ()
  2.    (setq  SS (ssget "x" '((0 . "LINE")))
  3.   i   -1
  4.    )
  5.    (command"UNDO""BE")
  6.    (while (setq s1 (ssname ss (setq i (1+ i))))
  7.        (if  (= (vla-get-Length (vlax-ename->vla-object s1)) 35);可以改变35的数值
  8.            (progn
  9.   (setq pt0 (dxf 10 (entget s1))
  10.              pt2 (dxf 11 (entget s1))
  11.              pt1 (_midp pt0 pt2)
  12.              ll   5
  13.   )
  14.   (setvar "osmode" 0)
  15.   (mkla "中点" 1)
  16.   (command "line" (POLAR PT1 0 ll) (POLAR PT1 PI ll) "")
  17.   (command "line"
  18.      (POLAR PT1 (/ PI 2) ll)
  19.      (POLAR PT1 (* PI 1.5) ll)
  20.      ""
  21.   ))
  22.        )
  23.    )
  24.    (command"UNDO""E")
  25. )
  26. (defun dxf (code elist) (cdr (assoc code elist)))
  27. (defun _midp (p1 p2)
  28.    (list  (+ (/ (- (car p1) (car p2)) 2) (car p2))
  29.   (+ (/ (- (cadr p1) (cadr p2)) 2) (cadr p2))
  30.    )
  31. )
  32. (defun mkla (name color)
  33.    (If (= (Tblsearch "layer" name) nil)
  34.        (Command "layer" "m" name "c" color name "")
  35.        (Command "layer" "t" name "s" name "c" color name "")
  36.    )
  37. )
 楼主| 发表于 2004-12-23 20:18:00 | 显示全部楼层
谢了!!这么长的程序就一会时间?可怕!
发表于 2004-12-23 20:38:00 | 显示全部楼层
这样就OK (setq Get2l (CAR (ENTSEL))
Get2-Len(vlax-curve-getPointAtDist
Get2l
(* 0.5(vlax-curve-getDistAtPoint Get2l
(vlax-curve-getendpoint Get2l)))))
 楼主| 发表于 2004-12-23 20:44:00 | 显示全部楼层
谢了!两位。。。
发表于 2004-12-23 20:55:00 | 显示全部楼层
BDYCAD发表于2004-12-23 20:38:00这样就OK (setq Get2l (CAR (ENTSEL)) Get2-Len(vlax-curve-getPointAtDist Get2l (* 0.5(vlax-curve-getDistAtPoint Get2l (...

如果用entsel,还不如用“mid”三个字更简单。 线长35到哪儿去了!呵呵……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 00:30 , Processed in 0.194847 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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