各位大哥好,有个问题想请教一下,不知道能不能帮忙看看啊,谢谢。我想在VB.net编制的程序(独立的exe文件)中实现这么一个功能:程序自动根据excel表格的数据,调取对应的图块,并把图块插入cad文件中,然后图块中的各个属性需根据excel表格的内容进行修改,有的属性修改后文字超出了图块的范围,为保证美观需要对该文字进行缩放。这个功能已经在VBA中实现了,但是VBA需要依靠CAD 才能运行,因此单独编制了基于VB.net的程序。VBA代码拷贝到VB.net中基本能用,只是无法实现文字缩放,问题截图及代码如下,麻烦帮忙看看是哪里的问题啊,谢谢!(代码有所简化,个别不需要缩放的属性对应的代码没贴)
mmqedvcufuy.jpg
drjkwhagob4.jpg
调试中发现这句代码:attVars(k).GetBoundingBox(minExt, maxExt),对某一个块的第一个属性修改后,它能计算出修改后的文字的坐标,但是后面修改的其他属性的坐标无法计算,结果始终保持为第一个属性的文字的坐标,在VBA中没有这个问题。
代码如下:
|