llgzhang 发表于 2004-5-7 10:22:00

关于块求坐标的问题

我用如下代码想取得块的坐标:


Dim entry As AcadBlock


Dim v As Variant


...


v = entry.Origin


但是报错说Origin不是块的属性,可帮助里明明写着是,到底是怎么回事情

llgzhang 发表于 2004-5-7 15:35:00

没有人帮帮我呀

雪山飞狐_lzh 发表于 2004-5-7 15:38:00

不是没人帮你


把你的完整一点的代码贴上来才知道那错了


就你贴的一点点代码看不出问题

llgzhang 发表于 2004-5-7 16:41:00

代码如下


                       Dim myss As AcadSelectionSet<BR>                       Set myss = ThisDrawing.SelectionSets.Add("125553")<BR>                       Dim llll As AcadBlock 'AcadLine<BR>                       Dim gpcode(0) As Integer<BR>                       Dim datavalue(0) As Variant<BR>                       Dim linecount, i, j, q As Integer<BR>                       Dim stpt, enpt As Variant<BR>                       Dim vst As Variant<BR>                       gpcode(0) = 0<BR>                       datavalue(0) = "Insert"<BR>                       myss.Select acSelectionSetAll, , , gpcode, datavalue<BR>                       ReDim lineco(myss.Count - 1, 3) As Variant<BR>                       i = 0<BR>                       For Each lll In myss<BR>                                               vst = lll.Origin<BR>                       Next<BR>                       myss.Delete<BR>执行到vst = lll.Origin后提示错误:对象不支持该属性或方法

雪山飞狐_lzh 发表于 2004-5-7 17:09:00

Origin是块的属性,不是块引用的属性


选择集里只有块引用,当然不支持该属性


如果一定要,可以用下列方法:


vst=thisdrawing.blocks(lll.name).Origin


另外:


声明为:Dim llll As AcadBlock


引用却为:For Each lll In myss<BR>

llgzhang 发表于 2004-5-7 17:22:00

多谢楼上的,刚学,有些基本的问题也不清楚,多谢指点。


你家闺女真可爱!

llgzhang 发表于 2004-5-7 17:30:00

好像origin不是求块坐标的,那什么是呀

雪山飞狐_lzh 发表于 2004-5-7 17:37:00

如果你要求插入点用



                       Dim lll As AcadBlockReference<BR>                                               vst = lll.InsertionPoint<BR>

llgzhang 发表于 2004-5-7 17:45:00

按你说的行了,再次感谢
页: [1]
查看完整版本: 关于块求坐标的问题