找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: eachy

(8.30)[推荐]:填充面积计算及重建边界 Beta V1.7

[复制链接]
发表于 2004-9-24 09:39:46 | 显示全部楼层
lzx4里面有这个功能的,而且不会出现bug,不知道有多少人用过
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-9-24 12:20:04 | 显示全部楼层
最初由 smalls 发布
[B]lzx4里面有这个功能的,而且不会出现bug,不知道有多少人用过 [/B]

LZX是将边界全部转为Pline
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-3 08:19:36 | 显示全部楼层
前两天做一个规划就遇到这个难题,费了好大劲才粗略的算出面积,痛苦呀!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-11 20:39:49 | 显示全部楼层
请EA斑竹试试附件里这个图,不但您的程序不行,理正的“图案面积”以及以前论坛里有个老外的HAREA。LSP都不行。不是有意刁难您,我们做园林的草地面积是最头疼的了,而且边界什么都有,SPLINE、LINE、POLYLINE、甚至椭圆,图层有的还锁定。看看能不能解决,要是能解决,估计什么填充都不在话下了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-13 21:59:12 | 显示全部楼层
:),楼上的问题可以使用LZX解决,但目前最大的疑问是我不清楚LZX的编码,另外也不知道楼主的编码,希望斑竹能够提供源代码,大家共同测试优化,也方便大家自定义的TOOLS,谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-13 22:37:44 | 显示全部楼层
1.若有SPLINE時先FLATTEN後再進行HATCH可減少出錯的機會
2.測試36樓提供的圖檔,eachy版主重建邊界的穩定度較lsjjm提供的高
3.eachy版主提供的是否一次只能算單一個hatch的面積?
4.另提供一個重建邊界及計算不同hatch分類面積統計的程序
   (ps.適用一個封閉空間一次建立一個hatch的方式)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-12-14 00:05:04 | 显示全部楼层
最初由 xxxyzxx 发布
[B]:),楼上的问题可以使用LZX解决,但目前最大的疑问是我不清楚LZX的编码,另外也不知道楼主的编码,希望斑竹能够提供源代码,大家共同测试优化,也方便大家自定义的TOOLS,谢谢了! [/B]

lzx 连边界都生不成

程序写作中深感Hatch的复杂性,可能除了Autodesk能够提供最佳方法,不过好像也不容易,否则 Area 命令就该支持计算 Hatch 的。

其中也用过几个软件的填充工具,应该说 1 楼中的“重建边界”是目前最完美的,真实再现 Hatch 的边界,遇到不能计算的情况,你用“重建边界”就可以看到问题所在。使用“重建边界”你就会发现有的的情况是无法计算的,也因为如此后来停止了这个程序的开发。

最后一句忠告,目前的填充计算方面工具哪一个都不要太过相信,总有它漏掉的情况。

回楼上:如果都是封闭的区域那怎么都好办
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-14 16:30:30 | 显示全部楼层
谢谢eachy斑竹的解答!
目前填充方面确实难办,处理简单的情况和稍微复杂的情况可以保证不出错外,其它情况均有不确定性(虽然都可以解决,但要写出LISP确实不易);
eachy斑竹重建邊界的穩定度較lsjjm提供的高,……

之所以想看斑竹的源代码,目的是了解何种情况的填充,斑竹的程序处理不会出错,lsjjm提供的LISP我简单看过一遍,虽然看得不是很懂(前些天刚开始学LISP),但我觉得计算方法确实存在漏洞,不知1楼的程序是如何处理填充的!
1.如您的时间允许,方便的话可将源代码寄我信箱makeni0000@sina.com中,借我参考,谢谢!
2.如您不方便,是否可以提供此LISP与lsjjm的LISP不同处,解决的方法和思路,谢谢!
3.如我的要求过分,也请给予答复,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-14 19:12:56 | 显示全部楼层
不知大家发现了没有,对于图案是SOLID的填充,WMFOUT再WMFIN后变成了一个个闭合的三角形。是否可以利用这一点近似的求面积和边界?已知有如下问题:
1.必须要缩放到选定实体最大,才能保证精确度,可能需要重生成,慢。
2.图形窗口内不能有别的东西,可能要冻结、解冻图层,也要重生成,慢。
3.最关键的是,不是所有的填充都可以更新到SOLID,比如我在36楼上传的图,左下角的填充,改到SOLID就不行;
4.如果填充内有文字或标注怎么办。
     这个办法虽不是堂堂正正,只能求一个近似,但总比用描一遍快吧,有误差,也总比手工算精确吧?就象SPLINE转PL,不也是近似吗?
     个人感觉对填充AUTOLISP没有太多的办法,也许ARX能好一些,比如计算像素也是一个办法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-12-15 00:18:37 | 显示全部楼层
最初由 xxxyzxx 发布
[B]谢谢eachy斑竹的解答!
目前填充方面确实难办,处理简单的情况和稍微复杂的情况可以保证不出错外,其它情况均有不确定性(虽然都可以解决,但要写出LISP确实不易);
[QUOTE]eachy斑竹重建邊界的穩定度較lsjjm提供... [/B]

重建边界就是修改了lsjjm转贴的那个程序,你要学会分析,就看联机帮助,用 vlisp 编辑器察看那些出问题的 hatch 的 dxf 组码,所有的边界信息用 entget 都可以看到,可以给你指出的是,那个程序生成边界的方法没有错,出问题的地方在 spline 部分,里面的循环在某些情况下不对。还有一个要注意的是边界实体有的用 vla 方法生成,有的用 entmake ,这是有道理的,作者肯定是经过了测试,都用 vla 方法生成没问题,把有的 vla 换成 entmake 程序可能就会崩溃。

有源码你能作什么,lsjjm 已经贴出来了。如果你不分析那个,用vlx不也可以使用吗?

也不要迷信 ARX,用过两种 arx 生成边界的,xdapi 和 LZX,xdapi的应该说多数情况下是无能为力的,LZX 对 spline 模拟成了 pline ,但是 LZX 是采用了等距抽点,有误差,而且也不是万能。

CAD 的填充本身就提供了两种方式,举个极端的例子如下图。

再说说面积的算法吧,如果有了边界,用 CAD 怎么求呢? 用 描点肯定是最麻烦的,如果有内环就更费事了。简单就是将边界都生成面域,然后用 并和差集,合成一个面域后 用 area 就得到面积了。lisp 也只能采用这种方法,ARX 就不清楚了。至于 Hatch 填充的三种模式如何应用 并集、交集、差集 就要仔细研究了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-15 21:49:56 | 显示全部楼层
原打算参考论坛成果写一份完美的面积计算LISP,但填充情况实在特殊,希望能借鉴兄弟们的LISP(如不知道斑竹SPLINE那的改动,自己一个人去写,我觉得有困难--另外我觉得如果能借用,自己也可省些时间,Hatchb的广告提示我也不喜欢)
一、
我学LISP纯靠近日来分析他人成果,只看过几次CAD自带参考,无任何书籍辅助,故问题可能比其它人多,望斑竹谅解!
二、
同意斑竹对晓东、LZX等的分析,vla与entmake斑竹说的也有道理(但我只知表面原因,需楼主说的更详细帮助理解)
三、
lsjjm我已经读过,通过对CAD的版本及边界数量的统计,对每个边界分类型重新生成,基本非常完美(由于时间关系,只是粗读);--改动的简单想法(将可以转为PLINE的线均转换,且对于SPLINE线等情况转为PLINE时有误差的,可有选项提示1-转换/2-不转换)
四、
至于边界情况,实体确实有问题,但我想知道的是楼主考虑的情况是否已经将除上图等特殊类型外所有能计算面积的均已经计算?(至于上图的面积如何计算其实也有解决的办法,但过于复杂--不知思路是否正确--在原边界完美的情况下,根据填充时选择方式的不同,根据填充算法(目前我所知道的是:每个填充算法均不同,不同角度也有区别,并且仅单向填充有此类问题,仅一家言不一定正确)进行相关点连线,然后形成新的闭合区域边界--即可计算面积)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-12-16 17:21:33 | 显示全部楼层
最初由 xxxyzxx 发布
[B]原打算参考论坛成果写一份完美的面积计算LISP,但填充情况实在特殊,希望能借鉴兄弟们的LISP(如不知道斑竹SPLINE那的改动,自己一个人去写,我觉得有困难--另外我觉得如果能借用,自己也可省些时间,Hatchb的广告... [/B]

那个文件本来就是源码,你连广告都去不掉,还谈什么修改:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-17 17:10:57 | 显示全部楼层
eachy老大,你提到“那个文件本来就是源码……”
目前一楼能够下载的是.VLX的文件,这个文件在VLISP中是乱码,该用什么软件,请指点迷津!
如能看到源码,广告我自己去除就可以;如果有在乱码情况下仍能修改的软件,请指点迷津!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-12-17 18:24:38 | 显示全部楼层
最初由 xxxyzxx 发布
[B]eachy老大,你提到“那个文件本来就是源码……”
目前一楼能够下载的是.VLX的文件,这个文件在VLISP中是乱码,该用什么软件,请指点迷津!
如能看到源码,广告我自己去除就可以;如果有在乱码情况下仍能修改的软件... [/B]

我指是 lsjjm 转贴的那个
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-20 22:31:14 | 显示全部楼层
谢eachy斑竹,程序我已经分析得差不多,已经有了和你的VLX差不多的程序,但仍然有些填充(闭合线的实体填充)的面积求不出(本想传文件,但最近活太多忘记了哪张图的算不了了-有空我会传上来)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 00:30 , Processed in 0.340338 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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