mjguzik 发表于 2008-6-27 15:24:03

Acad&VBA精度

我把这个贴在AUGI上,没有#039;没有得到太多回应。这里有人了解我的问题吗
我正在从事一个机场项目,该项目由一家政府机构所有和管理,该机构在大都市区拥有许多设施。他们希望所有文件都有一个共同的原点,这是可以理解的。考虑到本地区的规模,这涉及到一些非常大的数字。使问题复杂化的是,他们以工程单位(即一英尺的小数)维护数据库。我们都知道,这在Acad术语中真正意味着一英寸的小数。但作为建筑师,我们使用英尺和英寸。重复地从一个系统切换到另一个系统而不引入累积舍入误差是一场噩梦
如果'这还不够,还有#039;还有更多。原始CAD数据被绘制到一个原点,该机构已决定放弃该原点,取而代之的是NAD83。这意味着数据需要翻译一次,从A点到B点仅需180英里
我的方法是编写一个VBA程序,使用旧的插入点、从点平移、平移到点和最终的静止点,根据需要按12和1/12的比例放大和缩小。所有数字都以双精度捕捉到最大值。我很清楚浮点运算的复杂性。本人'我开始怀疑我是否找到了Acad单位的极限
数据以一英尺的小数转换到最终静止位置后,坐标为1044943.91129001173435.132338795,0(工程单位)。然后,我必须将这个工程数据放大12倍,更改单位,并将数据移动到1044943#039-10.935480132“;,17345'-1.58806554“;,0.0000。在我将数据移动到这些坐标并列出结果后,我得到X=1.2539E+07 Y=17345&#039-1 9/16“;Z=0&#039-0“;x以英寸为单位,y以FTIN为单位
有人能解释一下这是怎么回事吗?有趣的是,VBA似乎比Acad应用程序更好地处理大量数据
我提到旋转了吗?It#039;s-28d58#039;6.4289“

猪的风采 发表于 2008-6-27 17:29:12

&燃气轮机&燃气轮机;一旦数据以一英尺的小数转换到最终静止位置,坐标为1044943.91129001173435.132338795,0(工程单位)。然后,我必须将这个工程数据放大12倍,更改单位,并将数据移动到1044943#039-10.935480132“;,17345'-1.58806554“;,0.0000。在我将数据移动到这些坐标并列出结果后,我得到X=1.2539E+07 Y=17345&#039-1 9/16“;Z=0&#039-0“;x以英寸为单位,y以FTIN为单位
&gt&燃气轮机;有人能解释一下这是怎么回事吗
你需要解释什么?你似乎对你的35;039;挑战#039;是如果您'如果你熟悉浮点运算,那么你就会明白什么是“浮点运算”;1.2539E+07“;是如果不是,则是正确X位置的四舍五入版本-(1044943.91129001*12=12539326.93548012),即1.2539,小数点移位;E+;左7位
你'我们可能已经看到了四舍五入的错误。由于您必须使用固定数量的数字字符来表示您的位置,因此我会限制转换单元之间的来回。每次你除以12,你都在考虑在小数点的右边至少再加一个数字的可能性;每次乘以12,在小数点的左边加一个字符,这意味着去掉另一个字符;从右边开始…
为了获得最大精度,我首先将所有内容转换为一种类型的单元。我可能将较小的单位相乘,而不是除以较大的单位;你'我只在左边加一个字符,但除法可以在右边加上许多小数….和I&35;039;我最后做所有的交易

香甜云尼拿 发表于 2008-6-28 11:11:49

我预计机场已经建立了当地测量控制点,并与NAD83进行了协调,因为90年代就需要这样做;s、 &nbsp
至于将基数从英尺小数改为英尺和英寸 你似乎是在引入错误,而不是减少错误 绘图单元是绘图单元。10英尺是十进制的10个单位,120个单位是英尺英寸。AcGeTolerance类具有默认函数equalPoint和equalVector,公差设置为1。e-10;把所有的数乘以12,在不存在点和向量的地方就得到了相等的点和向量 图形文件只是矢量和点的数据库&nbsp
除大多数地理信息系统外,测量和土木工程均以十进制单位进行 0.01英尺仍然是1/8“;(+/-)和基准点的精度设置为0.005英尺 提供了比原始数据更高的精度;t将提供更精确的数据
致以最诚挚的问候,MJG

青青灵芝草 发表于 2008-6-30 16:22:37

我同意改变单位会给计算带来误差。机场现有条件的土木工程图纸(消防栓和无数其他公用设施)都是一英尺的小数。另一方面,建筑设计以英尺和英寸为单位。由于这个机场的基础设施拥挤,我们将不得不把一些主要的服务线与我们的新大楼连接起来。碰撞检测的准确性在这里是一个问题。要将建筑图纸与工程图纸进行比较,需要翻译其中一个。像艾德。随着项目的进展,我们将举行协调会议,这将需要重叠
也许这是哀悼阿卡德的地方's单元的整体处理。It#039;它也不仅仅是工程单位。我们做了很多公制建筑的工作。在那里,比例因子是25.4。我接受过训练,一个物理物体不会因为用来测量它的尺子而改变大小。但这正是Acad所做的。整个过程是围绕Acad 1.0从未预见到全球主导地位和世界单位需求这一事实而展开的
然后有像Revit这样的程序在内部进行所有转换。。。。。。。。。。。。
页: [1]
查看完整版本: Acad&VBA精度