明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: userzhl

[求助]哪位高手请帮忙看看,做出这样一个程序

  [复制链接]
发表于 2007-7-20 11:08:00 | 显示全部楼层
这个问题最大的难度应该在于求最近距离上面了...算法对我来说太深..搞不来.
发表于 2007-7-20 11:22:00 | 显示全部楼层
  1. (DEFUN C:TEST ()
  2. (SETVAR "CMDECHO" 0)
  3. (SETQ OLDOS (GETVAR "OSMODE"))
  4. (PRINC "\nSelect a Block :")
  5. (IF (SETQ SS (SSGET '((0 . "INSERT")))) (PROGN
  6.   (SETQ BNM (ASSOC 2 (ENTGET (SSNAME SS 0)))
  7. S1 (SSGET "X" (LIST '(0 . "INSERT") BNM)))
  8.   (SETQ I -1 PTL (LIST))
  9.   (REPEAT (SSLENGTH S1)
  10.    (SETQ PTL (CONS (CDR (ASSOC 10 (ENTGET (SSNAME S1 (SETQ I (1+ I)))))) PTL))
  11.   )
  12.   (SETQ PTL (REVERSE PTL) I -1 TMP (LIST)
  13. PT1 (LIST 0 0) PSL (LENGTH PTL))
  14.   (WHILE (< I (- PSL 2))
  15.    (SETQ J I DIS 1E8 K nil)
  16.    (WHILE (< J (1- PSL))
  17.     (SETQ PT2 (NTH (SETQ J (1+ J)) PTL) DS1 (DISTANCE PT2 PT1))
  18.     (IF (< DS1 DIS) (SETQ DIS DS1 K J))
  19.    )
  20.    (IF K
  21.     (SETQ PT (NTH (SETQ I (1+ I)) PTL) PT1 (NTH K PTL)
  22.    PTL (SUBST (LIST 'AA) PT1 PTL)
  23.    PTL (SUBST PT1 PT PTL)
  24.    PTL (SUBST PT (LIST 'AA) PTL))
  25.     (SETQ I (1+ I))
  26.    )
  27.   )
  28.   (SETVAR "OSMODE" 0)
  29.   (SETQ I 0)
  30.   (COMMAND "PLINE" (NTH 0 PTL))
  31.   (REPEAT PSL
  32.    (SETQ PT (NTH (SETQ I (1+ I)) PTL))
  33.    (COMMAND PT)
  34.   )
  35.   (COMMAND "")
  36. ))
  37. (SETVAR "OSMODE" OLDOS)
  38. (SETVAR "CMDECHO" 1)
  39. (PRINC)
  40. )
复制代码
发表于 2007-7-20 11:52:00 | 显示全部楼层
好东西。!!!!收藏
 楼主| 发表于 2007-7-20 14:44:00 | 显示全部楼层

非常感谢12楼的版主,这正是我所要的程序!

您可不可以再帮我看看这个问题:

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=61659

发表于 2013-12-6 12:36:00 | 显示全部楼层
z版大大,希望你能改变算法,能框选区域,只连线这个区域内的这个图块。
发表于 2013-12-7 12:39:09 | 显示全部楼层
好像记的以前论坛此版块里有过相关的话题,有源码的,并且连完的线是多段线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 02:54 , Processed in 0.180764 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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