明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: Gu_xl

[【Gu_xl】] 【Gu_xl】基于方位角计算的拓扑多边形自动构建快速算法

    [复制链接]
发表于 2012-9-20 11:20:45 来自手机 | 显示全部楼层
建议大家研究下这个帖子,在划分单元时候很实用,也十分感谢miraclelll的完善和优化…
发表于 2012-9-20 14:35:49 | 显示全部楼层
先收下了,谢谢!
发表于 2012-9-20 19:02:58 来自手机 | 显示全部楼层
呵呵,的确是好程序。
发表于 2012-9-22 20:32:42 | 显示全部楼层
miraclelll 发表于 2012-9-20 10:29
哦,对不起, 忘记附上去了.... 以下是我优化后的 删除外包多边形

原来的思路是: 将每一个多边形和其他 ...

还是缺很多函数,例如:
1.SETUNDOERR
2.GXL-STR-SPACE
哎,等了一年还是没有解决~~~~~
发表于 2012-11-17 08:21:11 | 显示全部楼层
希望看到完整的源码 谢谢大师
发表于 2012-11-17 09:28:25 | 显示全部楼层
这么好的东西,先马克下,等发帖数够了慢慢研究!
发表于 2012-11-17 19:27:01 | 显示全部楼层
古大,你这个程序为什么不支持pline呢?
发表于 2012-12-10 16:49:14 | 显示全部楼层
本帖最后由 mp13119 于 2012-12-10 16:50 编辑

虽然看不懂!但觉得楼主很厉害!不知道楼主的程序能实现这样的功能吗?

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-12-10 19:58:08 | 显示全部楼层
本帖最后由 Gu_xl 于 2012-12-10 20:51 编辑
mp13119 发表于 2012-12-10 16:49
虽然看不懂!但觉得楼主很厉害!不知道楼主的程序能实现这样的功能吗?

这个动态定义填充图案填充即可!
  1. (defun c:tt (/      X      Y      _A      PATNAME INDEX   PATH
  2.       DIMZIN      OX      OY      F      FILENAME
  3.       STR     cmdecho *error*
  4.      )
  5.   (defun *error* (s)
  6.     (setvar 'dimzin dimzin)
  7.     (setvar 'cmdecho cmdecho)
  8.     (pronc s)
  9.   )
  10.   (setq x (getreal "\nX间距:<10.0>"))
  11.   (if (null x)
  12.     (setq x 10)
  13.   )
  14.   (setq y (getreal "\nY间距:<10.0>"))
  15.   (if (null y)
  16.     (setq y 10)
  17.   )
  18.   (setq _a (getangle "\n旋转角度<0>:"))
  19.   (if (null _a)
  20.     (setq _a "0")
  21.     (setq _a (angtos _a))
  22.   )
  23.   (setq patname "TEMPPA_"
  24. index 0
  25.   )
  26.   (while
  27.     (ssget "x"
  28.     (list '(0 . "hatch") (cons 2 (strcat patname (itoa index))))
  29.     )
  30.      (setq index (1+ index))
  31.   )
  32.   (setq patname (strcat patname (itoa index)))
  33.   (setq path (GETVAR (QUOTE ROAMABLEROOTPREFIX))
  34. dimzin (getvar (quote dimzin))
  35. cmdecho (getvar 'cmdecho)
  36.   )
  37.   (setvar 'dimzin 8)
  38.   (setvar 'cmdecho 0)
  39.   (or (eq "\\" (substr path (strlen path)))
  40.       (setq path (strcat path "\\"))
  41.   )
  42.   (setq path (strcat path "Support\\"))
  43.   (setq f (open (setq filename (strcat path patname ".pat")) "w"))
  44.   (write-line
  45.     (setq str (strcat "*" patname ",临时填充图案 " patname))
  46.     f
  47.   )
  48.   (write-line (strcat "0,0,0,0," (rtos x 2 10)) f)
  49.   (write-line (strcat "90,0,0,0," (rtos y 2 10)) f)
  50.   (close f)
  51.   (setq endent (entlast))
  52.   (if (>= (atoi (getvar 'acadver)) 17)
  53.     (progn
  54.       (command "_Bhatch" "p" patname "1" _a "o" "d" "l" "n")
  55.       (princ "\n**选择区域点**")
  56.       (while (= 1 (getvar 'cmdactive))
  57. (command pause)
  58.       )
  59.     )
  60.     (progn
  61.       (command "_Bhatch" "p" patname "1" _a)
  62.       (princ "\n**选择区域点**")
  63.       (while (= 1 (getvar 'cmdactive))
  64. (command pause)
  65.       )
  66.     )
  67.   )
  68.   (setq hatch (entlast))
  69.   (if (not (equal endent hatch))
  70.     (command "_explode" hatch)
  71.   )
  72.   (vl-file-delete filename)
  73.   (setvar 'dimzin dimzin)
  74.   (setvar 'cmdecho cmdecho)
  75.   (princ)
  76. )

发表于 2012-12-11 00:09:30 | 显示全部楼层
\能否对多段线进行拓扑计算?
正想用到检查小构面的内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-24 07:26 , Processed in 0.170099 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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