VBA-макрос для Autocad 2002 плохо работает в Autocad 2012
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA-макрос для Autocad 2002 плохо работает в Autocad 2012

VBA-макрос для Autocad 2002 плохо работает в Autocad 2012

Ответ
Поиск в этой теме
Непрочитано 09.08.2013, 12:38 #1
VBA-макрос для Autocad 2002 плохо работает в Autocad 2012
sebikov
 
Регистрация: 21.01.2010
Сообщений: 9

Тупой форум, снес мой первый пост

Краткое содержание предыдущей серии



В нижеприведенной конструкции есть особенность

Код:
[Выделить все]
 'формирование блока точек ------------------------------
    txt = "mez_blokioZone_bloki"
    txt1 = ""
    For i = 0 To ThisDrawing.Blocks.Count - 1
        j = InStr(1, txt, ThisDrawing.Blocks.Item(i).name)
        If j > 0 Then txt1 = txt1 + ThisDrawing.Blocks.Item(i).name
    Next
    
    j = InStr(1, txt1, "mez_bloki")
    If j = 0 Then
        center(0) = 0.8: center(1) = 0.8
        Set blockObj = ThisDrawing.Blocks.Add(center, "mez_bloki")
        blockObj.AddCircle center, 0.25
        blockObj.AddAttribute 1.5, acAttributeModeNormal, "point_block", center, "межевая точка", ""
        blockObj.AddPoint center
    Else
        Set blockObj = ThisDrawing.Blocks.Item("mez_bloki")
    End If
    j = InStr(1, txt1, "oZone_bloki")
    If j = 0 Then
        Set blockObj1 = ThisDrawing.Blocks.Add(center, "oZone_bloki")
        blockObj1.AddCircle center, 0.25
        blockObj1.AddAttribute 1.5, acAttributeModeNormal, "point_block", center, "охранная точка", ""
        blockObj1.AddPoint center
    Else
        Set blockObj1 = ThisDrawing.Blocks.Item("oZone_bloki")
    End If
'формирование блока точек ------------------------------
В строке blockObj.AddAttribute 1.5, acAttributeModeNormal, "point block", center, "межевая точка", "" третий параметр Prompt НЕ ДОЛЖЕН содержать пробелов. В старых автокадах, а также Bricscad и ZWCAD это прокатывало, а в Auticad 2011 и новее - уже нет

Правильно будет так blockObj.AddAttribute 1.5, acAttributeModeNormal, "point_block", center, "межевая точка", ""

Последний раз редактировалось sebikov, 09.08.2013 в 13:09.
Просмотров: 3765
 
Непрочитано 09.08.2013, 14:03
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Цитата:
Сообщение от sebikov Посмотреть сообщение
Тупой форум, снес мой первый пост
Поскольку предыдущей серии не обнаружено, полагаю, что сам пользователь что-то не то сделал.
И в чем, собственно, вопрос-то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.08.2013, 14:12
#3
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Offtop: Я так понял - это монолог топикстартера, мол "тихо сам с собою, я веду беседу"(с).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 09.08.2013, 14:51
#4
sebikov


 
Регистрация: 21.01.2010
Сообщений: 9


Извиняюсь. Набрал пост с вопросом, попытался отредактировать, а движок форума вместо добавления снес старый текст

Теперь вопрос. лет десять назад забацал проект, формирующий графическую часть межевых дел и описаний границ для землеустройства, и благополучно забыл. Сейчас проверяю код под разные кады, и на 2012 версии автокада столкнулся со следующим
В VBA есть команда
Код:
[Выделить все]
 AddAttribute(height, mode, prompt, insertionPnt, tag, value)
В Автокаде до 2010 включительно, а также BRICSCAD и ZWCAD параметр prompt мог содержать символ пробела, к ошибкам исполнения это не приводило. В новых же автокадах начиная с 2011 атрибут просто не вставляется, хотя вручную аналогичный блок прекрасно создается. Еще веселее с параметром tag - если он содержит пробел, то его вставка срабатывает для кода в Modules, но не работает для этого же кода в Forms.

Разобраться с этим у меня не хватает свежих знаний и времени, так как программировать на VBA я перестал уже давно и работаю исключительно геодезистом
sebikov вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA-макрос для Autocad 2002 плохо работает в Autocad 2012



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ASD - AutoCAD Structural Detailing. Проблемы и их решение. Faber Вертикальные решения на базе AutoCAD 805 03.10.2015 21:33
Плохо работает OTRACK(ОТС-ОБЪЕКТ) в 3D начиная с 2008 Акада. Astartes AutoCAD 3 18.01.2012 11:55
Настройки AutoCAD 2011 в AutoCAD 2012 Fedorino AutoCAD 1 09.11.2011 09:11
shift не работает в AutoCAD Civil3d b_1 Вертикальные решения на базе AutoCAD 7 11.05.2010 12:29
Совместность AutoCAD 2008 и AutoCAD 2002 vitalik-petrov AutoCAD 4 11.06.2008 09:04