Tao5574909 发表于 2009-8-3 11:05

这样能不能解决问题:图号后面在加一位表示页码:D

wsz100 发表于 2009-8-3 11:13

原帖由 Tao5574909 于 2009-8-3 11:05 发表 http://www.askcad.com/bbs/images/common/back.gif
这样能不能解决问题:图号后面在加一位表示页码:D
你的方法是一样的,手动输入便不可取,因为它不能识别自身所处图纸集的位置,这个变量得来自CAD系统,而AutoDesk没有给出这个变量,郁闷!

wsz100 发表于 2009-8-15 14:06

如有高人路过,请留下你的墨宝!期待ing...

wsz100 发表于 2009-8-22 13:44

等啊等!等啊等!!到现在还没等到脚底板长毛的,哎!!~~~

jqh014 发表于 2009-8-22 15:44

11楼做超链接的方法很不错啊可以借鉴

wsz100 发表于 2009-9-2 16:29

顶到上面去!为了让高人看看......

wsz100 发表于 2009-11-6 11:48

看来这问题有些难啊!

truezx 发表于 2009-11-6 15:23

http://cid-deb0baea7ff17ed7.spaces.live.com/blog/cns!DEB0BAEA7FF17ED7!309.entry



采用VBA实现AutoCAD自动修改图的图号(页码)
问题描述:我这里有100张图,需要将这些图插入到最终报告中,报告中预留一些位置,需要修改各个图的图号(也就是页码),如个人工去改,很容易范错,而且改的头会昏掉.

实现方法:首先采用Word生成目录的方式将所有的图的位置获到,例如得到8,12,15,21,23........,354.共100个数字将这些数值保存到一个txt文件中,采用VBA读取这些数据到一个数组中,我们的图是4个一行,共25行,一共100张图,由于所有图的位置决定了得到的数字,也就是页码,例如第一张图得到8这个图号(页码),第二张得到12这个图号,以此类推.


这里我们用到了Blockreference也就是类参考,是一个非常好的东西,通过搜索Modelspace中所有的Blockreference,我们得到每个的坐标,通过坐标决定它的页码.然后修改它的Textstring,也就是它的值,得到我们要的结果.

原代码:

Sub AutoPages()
    Dim tempObj As Object
    Dim x As Double, y As Double
    Dim numbers As Integer
    Dim newvarAttributes As Variant
    Dim BRobj As AcadBlockReference
    Dim currInsertionPoint As Variant
    Dim Pages(1 To 200) As Integer

    Dim ii As Integer
    ii = 1
    Open "C:\1.txt" For Input As #1
      While Not EOF(1)
      Line Input #1, Mystring
      Pages(ii) = CInt(Mystring)
      ii = ii + 1
      Wend
    Close #1
    For Each tempObj In ThisDrawing.ModelSpace
      If TypeName(tempObj) = "IAcadBlockReference" Then
            Set BRobj = tempObj
            Set newvarAttributes = BRobj.GetAttributes(0)
            currInsertionPoint = newvarAttributes.insertionPoint
            x = currInsertionPoint(0)
            y = currInsertionPoint(1)
            numbers = (x - 8759) \ 366 + ((2329.20012341701 - y) \ 266) * 4 + 1
            newvarAttributes.textString = Pages(numbers)
            Debug.Print numbers
      End If

    Next

End Sub

wsz100 发表于 2009-11-7 08:56

谢谢楼上的办法!!!,但是用于图纸集,估计就没用了!我已经不用模型空间出图了

wsz100 发表于 2009-11-7 09:21

问题应该是这样的.....

linhui588 发表于 2009-11-9 20:48

图纸集管理

对新手来说 .这个还是一个迷.

linhui588 发表于 2009-11-9 21:18

很想学这东西.

可惜
到现在都不清楚如何操作.

wsz100 发表于 2009-12-28 17:17

这个问题我发到欧特克中国官方网站论坛也没有得到解决,十分郁闷啊!!!:'( :'(

wsz100 发表于 2009-12-29 15:38

难道这是一个很冷门的话题吗?

zd6688 发表于 2009-12-29 16:07

15楼

:D :victory: 赞同
页: 1 [2] 3 4 5 6 7 8 9
查看完整版本: 图纸集的页码问题悬而未决!!(非通晓图纸集者勿入)