Нумерация листов из "менеджера подшивок"
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Нумерация листов из "менеджера подшивок"

Нумерация листов из "менеджера подшивок"

Ответ
Поиск в этой теме
Непрочитано 05.01.2006, 15:10 #1
Нумерация листов из "менеджера подшивок"
Peter
 
строительство
 
Украина
Регистрация: 27.02.2005
Сообщений: 320

Акад2006ру. Создал подшивку. Получил список листов и автоматическую нумерацию в подшивке. Исключил один лист, и нужно перенумеровать оставшиеся листы (в подшивке). Возможно ли это средствами Акада? Может кто поможет с лиспом для перенумерации листов в "подшивке". Или подскажите другой способ автоматической нумерации листов ,скомпанованных в пространстве листа, чтоб можно было автоматически перенумеровывать набор листов собранных с разных файлов.
Спасибо.
__________________
С ув. Петр
Просмотров: 64389
 
Непрочитано 05.01.2006, 15:28
#2
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342


Если имеется в виду такой вариант нумерации (см. картинку) то кроме как перебивать номера руками с помощью Rename and renumber другого решения я не нашел
[ATTACH]1136464092.jpg[/ATTACH]
asys вне форума  
 
Автор темы   Непрочитано 05.01.2006, 20:15
#3
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Да, именно. Жалко, по моему(sorry)-ИМХО, подшивка лучший способ кампоновать проект, для быстрой распечатки и переноса на другой компьютер.
__________________
С ув. Петр
Peter вне форума  
 
Автор темы   Непрочитано 05.03.2009, 10:22
#4
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Прошло время Появилось ли решение именно для листов подшивки?
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 05.03.2009, 10:46
#5
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Делаю также, как описано в №2. Руками. Могу лишь добавить, что в лиспе нет технологии работы с подшивками. Если хочешь программно, то надо копать в сторону VBA.
Makswell вне форума  
 
Непрочитано 16.03.2009, 13:59
#6
Сергей Богатов


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


Цитата:
Сообщение от Peter Посмотреть сообщение
Прошло время Появилось ли решение именно для листов подшивки?
я это сделал Makswell прав - VBA...
Сергей Богатов вне форума  
 
Автор темы   Непрочитано 16.03.2009, 23:20
#7
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Цитата:
я это сделал Makswell прав - VBA...
Угадай , что ты можешь сделать , чтоб за тебя многие порадовались))
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 17.03.2009, 07:05
#8
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,536
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Давай Сергей, не жадничай - показывай свой VBA
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 17.03.2009, 08:44
#9
Сергей Богатов


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


Вот Но не забывайте что подшивка должна быть отсюда http://dwg.ru/dnl/5319
Макрос перебирает все открытые подшивки - будте внимательны
Вложения
Тип файла: dvb Копия autonumbering.dvb (96.0 Кб, 377 просмотров)
Сергей Богатов вне форума  
 
Непрочитано 17.03.2009, 09:15
#10
Serge_Y

инженер-конструктор
 
Регистрация: 29.05.2004
Минск
Сообщений: 381


>Сергей Богатов
А зачем паролить код?
Serge_Y вне форума  
 
Непрочитано 17.03.2009, 09:30
1 | #11
Сергей Богатов


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


Цитата:
А зачем паролить код?
они у меня по умолчанию запаролены высылаю без пароля
Вложения
Тип файла: dvb Копия autonumbering.dvb (32.5 Кб, 568 просмотров)

Последний раз редактировалось Сергей Богатов, 24.03.2009 в 13:20.
Сергей Богатов вне форума  
 
Непрочитано 17.03.2009, 09:38
#12
Serge_Y

инженер-конструктор
 
Регистрация: 29.05.2004
Минск
Сообщений: 381


Вот, изучайте азы, если кому еще необходимо
Вложения
Тип файла: pdf CP15-1.pdf (170.9 Кб, 1611 просмотров)
Serge_Y вне форума  
 
Непрочитано 17.03.2009, 09:49
#13
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Вот ещё азы. Мануал для 2007-го.
Вложения
Тип файла: zip CP215-2.zip (272.9 Кб, 1363 просмотров)
Makswell вне форума  
 
Непрочитано 17.03.2009, 14:50
#14
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Цитата:
Сообщение от Сергей Богатов Посмотреть сообщение
Вот Но не забывайте что подшивка должна быть отсюда http://dwg.ru/dnl/5319
Макрос перебирает все открытые подшивки - будте внимательны
Чтобы макрос не лез в "чужие" подшивки, можно добавить нижеприведенный код. Будет обрабатываться подшивка, из чертежа которой был запущен макрос:
Код:
[Выделить все]
'..............(основная программа)
Dim oEnumDb As IAcSmEnumDatabase
Dim oItem As IAcSmPersist
Dim oacSht As IAcSmSheet
Dim sheet_path As String
'' Create a Reference to the Sheet Set Manager Object
Dim oSheetSetMgr As AcSmSheetSetMgr
Set oSheetSetMgr = New AcSmSheetSetMgr

Set oEnumDb = oSheetSetMgr.GetDatabaseEnumerator
Set oItem = oEnumDb.Next

Dim oSheetDb As AcSmDatabase
Dim oSheetDb_current As AcSmDatabase 'указатель на текущую подшивку

'перебор открытых подшивок
Do While Not oItem Is Nothing
    Set oSheetDb = oItem
    '' Lock the Database
    If LockDatabase(oSheetDb) Then
        On Error Resume Next
        Dim oEnum As IAcSmEnumPersist
        Dim oItemSh As IAcSmPersist
        
        '' Get the Enumerator for the objects in the Sheet Set
        Set oEnum = oSheetDb.GetEnumerator
        Set oItemSh = oEnum.Next
        '' Step through the objects in the Sheet Set
        Do While Not oItemSh Is Nothing
            Set oacSht = oItemSh
            '' Increment the counter of the object is a Sheet
            If oItemSh.GetTypeName = "AcSmSheet" Then
                  sheet_path = oacSht.GetLayout.ResolveFileName
                  If StrConv(sheet_path, 1) = StrConv(ThisDrawing.FullName, 1) Then
                     Set oSheetDb_current = oSheetDb
                  End If
            End If
        '' Get next object
        Set oItemSh = oEnum.Next
    Loop 'конец перебора листов


    UnlockDatabase oSheetDb
    '' Clear and check for next SheetSet that is open
    End If
    Set oItem = oEnumDb.Next
Loop 'конец перебора подшивок

If oSheetDb_current Is Nothing Then
    MsgBox "этот чертеж в открытых подшивках не присутствует"
    Exit Sub
End If
'..................(продолжение основной программы)
Если че не так, прошу не судить строго
kp+ вне форума  
 
Непрочитано 17.04.2009, 10:54
#15
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 539


А где можно узнать в результате чего при печати из подшивки происходят ошибки?А то происходит сбой из-за какого-нибудь листа и не понятно почему.Причем дома не печатается(АКАД2010) а на работе все нормально (АКАД2008)
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Автор темы   Непрочитано 17.04.2009, 12:39
#16
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Можно ли сделать програмку , чтоб пренумерация начаналась с определенного номера? Будем очень благодарны.
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 01.03.2011, 08:48
#17
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


что-то тема заглоха, может кто-нибудь доделает с дополнением из поста #14. И какая команда запуска в автокаде, напишите пожалуйста.
заранее спасибо
DimAS]/[K вне форума  
 
Непрочитано 01.03.2011, 12:17
#18
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


В CSoft решили воспользоваться этим "багом" подшивки - Альбомы в СПДС GraphiCS
Vildar вне форума  
 
Непрочитано 01.03.2011, 12:36
#19
Сергей Богатов


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


см. пост №11 - берите и переделывайте под свои нужды
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Непрочитано 01.03.2011, 15:57
#20
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


у меня почему-то не запускается этот код, не может найти какие-то библиотеки. Напишите подробнее пожалуйста про запуск, вам ведь несложно это сделать, что нужно для запуска и т. д. Шаблон использовал этот http://dwg.ru/dnl/5319.
DimAS]/[K вне форума  
 
Непрочитано 01.03.2011, 16:49
#21
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


DimAS]/[K, на какой версии автокада запускаешь?
Vildar вне форума  
 
Непрочитано 02.03.2011, 01:52
#22
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


Цитата:
Сообщение от Vildar Посмотреть сообщение
DimAS]/[K, на какой версии автокада запускаешь?
autocad 2011 rus не работает.
блин, блин, блин!!! на 2009 rus, работает!!! прошу прошения. Просто другие макросы vba у меня работают на 2011, даже не думал, что проблема может быть в этом.
DimAS]/[K вне форума  
 
Непрочитано 02.03.2011, 09:36
#23
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Хорошо бы програмку подправить, не привязываться жестко к версии акада, т.е. динамически связываться с объектом подшивки.
Vildar вне форума  
 
Непрочитано 02.03.2011, 13:24
#24
Сергей Богатов


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


с 2010 по-умолчанию не устанавливается VBA. Надо скачивать модуль. А по поводу привязки к версии - с того-же 2010 изменяется формат файлов, объектная модель и соответственно библиотека работы с подшивками. Так-что всё равно привязка к версии будет. Ну типа - 2007-2009, 2010-2011(12?).
Кстати - попробуй поменять библиотеку на AcSMComponents18 - может быть заработает. Это в окне VBA - меню Tools->References
__________________
Я-проектировщик бывший проектировщик!

Последний раз редактировалось Сергей Богатов, 02.03.2011 в 13:30.
Сергей Богатов вне форума  
 
Непрочитано 02.03.2011, 16:39
#25
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


попробовал подключить AcSMComponents18, вот что говорит

DimAS]/[K вне форума  
 
Непрочитано 14.03.2011, 09:09
#26
Сергей Богатов


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


Не заработало... Тогда надо смотреть, но сейчас некогда. Да и вообще надо от VBA уже отходить подальше - это тупик. Надо всё переделывать под .NET. Но для этого надо много времени которого сейчас нет.

P.S.
Сегодня проверил - указание на вышеуказанную библиотеку не портит код(там и портиться нечему). В 2011 автокаде(english) всё заработало
__________________
Я-проектировщик бывший проектировщик!

Последний раз редактировалось Сергей Богатов, 15.03.2011 в 09:07.
Сергей Богатов вне форума  
 
Непрочитано 04.05.2013, 00:13
#27
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Не сочтите некропостером, но время идет, может что-то появилось новое в автокаде 2012, 2013, 2014? А то вопрос актуален, и в то же время не люблю сторонние примочки.
Спасибо.
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 02:16
#28
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Botan,
c 2010 при импорте вкладки листа в подшивку, доступно переименование и вкладки и самого содержащего вкладку dwg (только в закрытом состоянии), в любом сочетании, из интерфейса подшивки.
perpetule вне форума  
 
Непрочитано 04.05.2013, 09:13
#29
hwd

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


@Botan
Я не вижу, чтобы после AutoCAD 2010 функционал подшивок как-то изменился. Похоже, что пока Autodesk прекратил развитие этого инструмента (надеюсь не навсегда). Недостающий функционал по работе с подшивками приходится писать самостоятельно, правда в отличие от @Сергей Богатов я использую .NET вместо VBA. Темы по программированию лучше (имхо) обсуждать в соответствующей ветке форума, если уж пошёл исходный программный код в сообщениях.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 13:13
#30
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Цитата:
Сообщение от perpetule Посмотреть сообщение
c 2010 при импорте вкладки листа в подшивку, доступно переименование и вкладки и самого содержащего вкладку dwg (только в закрытом состоянии), в любом сочетании, из интерфейса подшивки.
perpetule, если вставить новый лист в середину подшивки, то все следующие за ним листы нужно будет перенумеровать вручную. Если их 100, 200, 300...
hwd, печально, вроде пустяковая задача: "Нумеровать листы, согласно их порядку в подшивке"...
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 13:28
#31
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Botan,
Перенумерация, листов в подшивке из 100 листов занимала у меня, max 10 мин ручками (штамп ссылается на одно из полей текущей подшивки, открывать лист - нет необходимости), автоматизации здесь ждать видимо не стоит во главе угла как всегда сохранность инф., авт. перенумерация приведет к необоснованному усложнению и так достаточно загруженного инт. подшивки.

Недавно обнаружил интер. возможность, при организации все в одном (нерекомендовано, но удобно) - ведомость раб. чертежей оформляется кадовской табл. в текст номер. листа штампа вставлено поле на номер листа из этой таблицы, при вставке строки в середину списка автоматом обновляются все *-десят номеров листов (авто. нум. как в экселе - забил номер - потянул за НПУ, нижележащие ячейки +1 на каждую, при перенумерации от 2010 связь сохраняется, ниже версией не проверял, но сомнительно.

- Ограничения:
1) все в одном dwg
2) штампы в модели
3) нумерация вида 5.1 5.2 ... 5.n (в табл. раб. черт - только вручную, хотя нужна ли она там - вопрос спорный, видел и так и этак, т.е. лист 5, прим. на N листах или 5.1-5.n без примечаний)

Очень удобно при неясном составе проекта, который меняется по ходу выяснения.

На текст сослаться - не выйдет, только цифирь ...

Последний раз редактировалось perpetule, 07.05.2013 в 21:56.
perpetule вне форума  
 
Непрочитано 04.05.2013, 13:42
#32
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
авт. перенумерация приведет к необоснованному усложнению и так достаточно загруженного инт. подшивки.
не приведёт.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 13:46
#33
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Имеется ввиду ИМХО и поставка по умолчанию, программно возможно все, с этим спору нет, но по желанию и за большие деньги или на энтузиазме и альтруизме
perpetule вне форума  
 
Непрочитано 04.05.2013, 13:50
#34
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Цитата:
Сообщение от perpetule Посмотреть сообщение
Недавно обнаружил интер. возможность, при организации все в одном (нерекомендовано, но удобно) - ведомость раб. чертежей оформляется кадовской табл. в текст номер. листа штампа вставлено поле на номер листа из этой таблицы, при вставке строки в середину списка автоматом обновляются все *-десят номеров листов (авто. нум. как в экселе - забил номер - потянул за НПУ, нижележащие ячейки +1 на каждую, при перенумерации от 2010 связь сохраняется, ниже версией не проверял, но сомнительно.
По поводу ведомости чертежей у Дмитрия Тищенко aka maestro есть ролик, который основан на использовании дин.блока штампа.
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 13:51
#35
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
и за большие деньги
Программный код итерации по листам подшивки, с попутным обновлением нумерации листов, занимает всего несколько строк кода, потому "большие деньги" в данном случае сомнительны. А по поводу желаний - да, они никогда не кончатся - так уж устроен человек
Цитата:
По поводу ведомости чертежей у Дмитрия Тищенко aka maestro есть ролик, который основан на использовании дин.блока штампа.
Не знаю, не смотрел.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 14:05
#36
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Цитата:
Сообщение от hwd Посмотреть сообщение
Не знаю, не смотрел.
Offtop: Посмотрите, очень интересно и просто)))
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 14:09
#37
hwd

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


Цитата:
Сообщение от Botan Посмотреть сообщение
Offtop: Посмотрите, очень интересно и просто)))
Обычно принято, после того, как сказано "А", говорить "Б" (в данном случае давать ссылку, т.к. кому-то, возможно, будет интересно). Я для себя там Америку не открою
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 14:13
#38
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Botan,
Цитата:
По поводу ведомости чертежей у Дмитрия Тищенко aka maestro есть ролик, который основан на использовании дин.блока штампа.
Вариантов таких реализаций и уж тем более с подшивкой, может быть очень много, но тут возникает другая проблема - проблема избыточности путей, перепробовал с 5-7 вариантов, ни в одном нет полной универсальности законченности и отсутствия ограничений, поищу и этот.

От себя могу порекомендовать поле с формулой отсекающей первые/или_последние несколько символов названии листа /вкладки (те вкладки которые снизу в фейсе када = НИЗу фейса подшивки = 3п. ).

В наших условиях - для одной вкладки нужно:
1) Сквозная нумерация (номер ЛВУ фейса подшивки) -> (N) -> полем в блок поверх вкладки листа ПВУ форматки
2) В названии листа подшивки (ВЕРХ фейс подшивки) -> (имя раздела) + (номер листа)+(краткая-суть-названия)
3) В названии листа /вкладки ( НИЗ фейса подшивки ) -> (имя раздела) + (номер листа)

4а) В штамп (модель):
- идентичные графы (разработал/ГИП/ и т.д.) - текстом в блок или вн. ссылку;
- подробное/идент. ведомости название - текстом без полей;
- номер листа -текстом (вариант полем на яч. кад. таблицы ведомости).
- Оформление разорвано от подшивки, кроме сквозной нумерации, имеет смысл при использовании все в одном *.dwg (штапы как правило в модели -> + наглядность и привычность для большинства).
4б) В штамп (в листе):
полями, полями+формула на св-ва подшивки(без дополнительных пользовательских, вариантов несколько)
- Имея три переменных данных свыше -> используем четыре необходимых по местным условиям.

Последний раз редактировалось perpetule, 04.05.2013 в 15:54.
perpetule вне форума  
 
Непрочитано 04.05.2013, 14:14
#39
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Цитата:
Сообщение от hwd Посмотреть сообщение
Обычно принято, после того, как сказано "А", говорить "Б" (в данном случае давать ссылку, т.к. кому-то, возможно, будет интересно). Я для себя там Америку не открою
Offtop: http://maestros-bay.blogspot.ru/

Цитата:
Сообщение от perpetule Посмотреть сообщение
Вариантов таких реализаций и уж тем более с подшивкой, может быть очень много, но тут возникает другая проблема - проблема избыточности путей, перепробовал с 5-7 вариантов, ни в одном нет полной универсальности законченности и отсутствия ограничений, поищу и этот.
Вся прелесть автокада в нелинейности выполнения поставленной задачи. К одному и тому же результату можно прийти несколькими способами. Но это тема не этого топика.
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 14:18
#40
hwd

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


Цитата:
Сообщение от Botan Посмотреть сообщение
http://maestros-bay.blogspot.ru/
Обозначенная ссылка указывает всего лишь на блог, и не указывает на страницу с упомянутой выше информацией. Поиск по ключевым словам "подшивка" и "sheetset" в обозначенном блоге результатов не дал. Рекомендую предварительно проверять корректность ссылок.

Цитата:
Сообщение от perpetule
возникает другая проблема - проблема избыточности путей
Что за проблема? У нас используется динамический блок для рамки чертежа и обычная таблица для основной надписи, которая полностью заполняется автоматически, считывая всю информацию из подшивки. Никаких "проблем избыточности" не наблюдаю. От использования блоков в качестве основной надписи давно отказались в виду ряда проблем, обусловленных их использованием в данном контексте.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 14:22
#41
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Botan,
С точки зрения преподавателя или программиста возможно вы правы
Цитата:
прелесть автокада в нелинейности выполнения поставленной задачи
,
вы эту прелесть тетке донесите, для которой высоту букв поменять проблема, хотя есть несколько путей, но она не знает ни одного.
perpetule вне форума  
 
Непрочитано 04.05.2013, 14:26
#42
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


Записи в блоге за 2009 год, оригиналы статей доступны на сайте Community
Increase Size Decrease Size Solo AutoCAD: ???°???‚?µ??-???»?°????.
http://www.youtube.com/watch?v=6ojBupoNub8 c 3:25 по 19:00
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 14:36
#43
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Botan,
Штампы X-ref - ами, сам к этому пришел ранее в рамках своей деятельности 1-3 раздела 60-100 листов, спасибо, качаю, любопытно...
Кстати, проблема со слоями внешних ссылок штампов имеет еще одно решение, без применения фильтров, не использовать в файлах предназначенных как внешние ссылки для других ничего кроме слоев 0,Defpoits и веса/либо гл. ширины пл.


hwd
Цитата:
У нас используется
Цитата:
Никаких "проблем избыточности" не наблюдаю
Вы их не наблюдаете потому что вы и заказываете эту музыку, либо такая практика сложилась ранее, либо к ней пришли еще пять продвинутых пользователей, для провинциальных организаций не в 8 этажей (в таких провинциях - большинство чертит и штамп и форматку текстом и отрезками даже не выделяя слой), можно как в супермаркете пробовать всякие вкусности до бесконечности - в этом проблема избыточности (и таки потом ууу... это слишком сложно ).

Последний раз редактировалось perpetule, 04.05.2013 в 15:14.
perpetule вне форума  
 
Непрочитано 04.05.2013, 15:18
#44
hwd

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


@Botan

1. Дмитрий Тищенко перечислил не все возможные варианты создания основной надписи. Как я уже указывал выше, можно вместо блока использовать таблицу, которая так же тянет информацию из подшивки посредством полей. Подправлять форматирование содержимого таблиц гораздо удобнее, чем атрибутов блоков, которые к тому же имеют привычку не сохранять внесённые в форматирование изменения (например: уменьшить шрифт и межбуквенный интервал, дабы вписать полное наименование объекта и т.п.).

2. Дмитрий Тищенко говорит о проблеме задания листу нужного имени (длинного или с некоторыми символами, которые запрешены в наименовании листа AutoCAD). Однако на самом деле, это решается очень легко, путём привязки не к имени листа подшивки, а к его описанию (свойство Description), либо к созданному на уровне листа подшивки пользовательскому свойству.

3. Замена фамилий проверающих, ГИПов и т.п. (или др. информации) сразу во множестве листов не является проблемой, поскольку общая информация, хранимая в свойствах подшивки, подлежит изменению лишь в одном месте - в свойстве подшивки.

4. Учитывая предыдушие 1-3 пункты, острой необходимости в прикручивании дополнительного колена, в виде использования Excel - нет (имхо), поскольку всё спокойно решается "родными" средствами AutoCAD.

Как бы то ни было, по обозначенному вопросу нет единственного правильного решения, несмотря на то, что Тищенко считает единственно правильным лишь свой (как было озвучено в видео).

P.S. Как пример, о многообразии решений: насколько я помню, Дмитрий Тищенко до сих пор выполняет публикацию подшивки в PDF, вместо того, чтобы воспользоваться возможностями Page Setup Override, которые позволяют указывать конкретное печатающее устройство, на которое должны выводиться листы (перенастройка на конкретное устройство выполняется прозрачно для пользователя, в процессе печати). Т.о. Дмитрий сначала печатает в PDF, и только потом, полученный PDF печатает на физ. устройство, хотя это дополнительное колено легко можно было бы избежать, воспользовавшись "родным" функционалом подшивки. Это не смертельно, однако использование Page Setup Override, на мой взгляд, более предпочтительно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 04.05.2013 в 15:32.
hwd вне форума  
 
Непрочитано 04.05.2013, 15:39
#45
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
На вкус и цвет - все фломастеры разные.

Цитата:
к его описанию (свойство Description), либо к созданному на уровне листа подшивки пользовательскому свойству.
Эти возможности не лишены недостатков - неудобоваримый интерфес например:
1) свойство Description (эти св-ва не видны все и сразу для многих вкладок, без перелистывания).
2) пользовательское свойство ур. л. подшивки (эти св-ва должны быть с одним именем - коих набирается немало).

Учитывая глючность современного офиса, прикручивание exel - представляется также излишним.

Избыточности до сих пор не наблюдаете ...

Эти два пути имеют вариации и упрощенные варианты, причем многообразные, например отказ от полей на подшивку - как таковых, может иметь смысл для организаций субподряда, т.к. далеко не каждый ген. п. владеет подшивками.
perpetule вне форума  
 
Непрочитано 04.05.2013, 15:43
#46
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
1) свойство Description (эти св-ва не видны все и сразу для многих вкладок, без перелистывания).
А зачем вам их видеть все сразу? Если уж нужно видеть все сразу - откройте автоматически формирующуюся (опять же - средствами подшивки) ведомость листов, там они все перечислены по порядку и совершенно точно соответствуют реальным наименованиям (что Дмитрий Тищенко почему-то считал плюсом использования Excel + атрибуты блоков, хотя в средствах самой подшивки это работает так же).
Цитата:
2) пользовательское свойство ур. л. подшивки (эти св-ва должны быть с одним именем - коих набирается немало).
Не понял, поясните.
Цитата:
Избыточности до сих пор не наблюдаете ...
Пока нет.
Цитата:
т.к. далеко не каждый ген. п. владеет подшивками.
Кто не развивается, тот соо временем "вымирает".
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 04.05.2013, 15:44
#47
Botan

непонятно
 
Регистрация: 28.01.2008
Сообщений: 471
<phrase 1=


hwd, я и с Вами, и с Дмитрием полностью согласен. Для каждой конкретной ситуации можно использовать абсолютно разный инструментал.
В этом или другом видео сказано, что основным минусом подшивок является отсутствие свойств внутри групп/подгрупп. В противном случае, он бы не изобретал велосипед. Потому как и с его способом полно проблем)
__________________
Если ты что-то сделал без труда, то ты сделал это неправильно!
Лишь та ошибка, что не исправляеТСЯ!
Botan вне форума  
 
Непрочитано 04.05.2013, 15:50
#48
hwd

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


Цитата:
Сообщение от Botan Посмотреть сообщение
основным минусом подшивок является отсутствие свойств внутри групп/подгрупп.
С этим я полностью согласен. Когда-то я подавал заявку в ADN, с просьбой добавить в подшивку возможность назначать пользовательские свойства для групп листов. Как и многие др. мои заявки, компанией Autodesk она была отправлена "в макулатуру", поэтому с некоторых пор в ADN более не пишу (смысла не вижу).

P.S. @perpetule, вы не дали пояснения по предыдущему моему сообщению (обозначенный вами п.2)
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 04.05.2013 в 16:25.
hwd вне форума  
 
Непрочитано 04.05.2013, 16:08
#49
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Каждый раз "для посмотреть" формировать таблицу ведомости средствами подшивки - слишком долго, и масса temp материала.

По п.2. возможно я не верно вас понял или не все прочухал в инт. подшивки.
Я говорил о дополнительных свойствах каждому из которых как переменной нужно задать имя - т.н. дополнительные свойства подшивки.
(кажется такое есть как предустановленное доп. свойство вкладки каждого листа).
т.е. доп св-во
ктоГИП
ктоЧертил
и т.д.

Ваш уровень оформления мне более импонирует т.к. использует только штатные средства, без дополнительного ПО.
В то же время способ Дмитрия Тищенко позволяет наглядно иметь все штампы в одном месте и уйти от переключений по вкладкам листов, что крайне долго, но необходимо для вставки полей, как вариант я использовал что-то подобное, но только часть, полностью материал пока не просмотрел, но заинтересовало, связь с exel не так уж необходима, есть еще поиск и замена текста внутри самого dwg со штампами, причем не обязательно в атрибутах, буду разбираться пока не встречал как можно вставить часть файла x-refom (я вставлял целиком несколько файлов штамп55, штамп15 и т.д.), если это подрезка - то не вариант, разбираемся пока ...

Последний раз редактировалось perpetule, 04.05.2013 в 16:16.
perpetule вне форума  
 
Непрочитано 04.05.2013, 16:20
#50
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
Каждый раз для посмотреть формировать таблицу ведомости средствами подшивки - слишком долго, и масса temp материала.
Зачем? Обозначенная ведомость формируется один раз (средствами самой подшивки) и динамически обновляется при открытии чертежа или при печати. Если вы добавляли\удаляли\редактировали листы подшивки, то для того, чтобы увидеть в ведомости обновлённую информацию, из контекстного меню таблицы нужно вызвать соответствующий пункт обновления таблицы.

Кроме того:
Цитата:
Каждый раз для посмотреть формировать таблицу ведомости средствами подшивки - слишком долго, и масса temp материала.
А что, для такого просмотра экспорт во внешний csv файл и его открытие в Excel, является более удобным способом, чем обновление существующей ведомости из её контекстного меню? Очень сомневаюсь...

Цитата:
Я говорил о дополнительных свойствах каждому из которых как переменной нужно задать имя - т.н. дополнительные свойства подшивки.
Следует один раз создать шаблон подшивки, в котором выполнить все необходимые базовые настройки, в т.ч. и пользовательские поля уровня подшивки\листа, после чего все новые подшивки создавать на базе этого шаблона. Т.о. в новых прошивках все дополнительные нужные свойства будут присутствовать по умолчанию (у нас именно так). Т.е. на основе шаблона подшивки сразу же имеем изначально корректно настроенные Callout Blocks, Page Setup Override, Template и т.д.

Цитата:
от переключений по вкладкам листов, что крайне долго, но необходимо для вставки полей
Такой необходимости нет, поскольку таблицы основной надписи изначально содержат в себе все необходимые привязки в виде полей и не нуждаются в редактировании.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 04.05.2013 в 16:28.
hwd вне форума  
 
Непрочитано 04.05.2013, 16:24
#51
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Цитата:
Обозначенная ведомость формируется один раз и динамически обновляется при открытии чертежа или при печати.
Запамятовал о такой возможности, но кажется были глюки с ней.
Цитата:
Следует один раз создать шаблон подшивки
И человека который этот шаблон будет вести, я пасс ...
perpetule вне форума  
 
Непрочитано 04.05.2013, 16:31
#52
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
но кажется были глюки с ней.
Ни разу не встречал.
Цитата:
человека который этот шаблон будет вести, я пасс ...
Вести куда? Разве у вас под каждый DWT файл назначен отдельный человек, который этот шаблон куда-то "ведёт"? Для DST файла принцип такой же, как для DWT. У нас единожды созданные шаблоны спокойно годами хранятся на сервере, откуда локальные клиенты автоматом скачивают их обновлённые версии на локальные машины (по мере надобности).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 16:15
#53
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Цитата:
@Botan

1. Дмитрий Тищенко перечислил не все возможные варианты создания основной надписи. Как я уже указывал выше, можно вместо блока использовать таблицу, которая так же тянет информацию из подшивки посредством полей. Подправлять форматирование содержимого таблиц гораздо удобнее, чем атрибутов блоков, которые к тому же имеют привычку не сохранять внесённые в форматирование изменения (например: уменьшить шрифт и межбуквенный интервал, дабы вписать полное наименование объекта и т.п.).
Подправлять форматирование содержимого таблиц гораздо удобнее - Т.е. если текст не поместился в грфу автокадовской таблицы (используемой как штамп 185x55), пользователь должен самостоятельно исправить такой штамп с неправильным форматированием (185x70)?

P.S. Это не критика, это просто вопрос, плюшки использования таблиц весьма вкусны.
perpetule вне форума  
 
Непрочитано 08.05.2013, 16:19
#54
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
Т.е. если текст не поместился в грфу автокадовской таблицы (используемой как штамп 185x55), пользователь должен самостоятельно исправить такой штамп с неправильным форматированием (185x70)?
Да. Если текст не поместился, юзеру так или иначе придётся вмешаться, чтобы вписать текст (как я уже писал выше), но и использование атрибутов блоков в данном случае так же будет требовать пользовательского вмешательства, так что доп. действия, в случае слишком большого текста, неизбежны.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 16:23
#55
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


вот я всё думаю, так-ли нужна эта "подшивка"? Выделяешь листы, которые следует печатать и посылаешь их на Публикацию
Хмурый вне форума  
 
Непрочитано 08.05.2013, 16:25
#56
hwd

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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
вот я всё думаю, так-ли нужна эта "подшивка"? Выделяешь листы, которые следует печатать и посылаешь их на Публикацию
Нечётко сформулированная мысль. Какие листы? Из одного чертежа или из разных? На какое устройство печати? Как поступишь, если в организации заменили плоттер? Вопросов возникает много и без их конкретизации всё это ни о чём.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 16:33
#57
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Изменения высоты такой таблицы могут быть мало заметны, скажем высота не 55, а 57,5. Есть ли опробированные решения, скажем вставить под таблицу правильную сетку в непечатаемом слое блоком или как-то иначе, дабы такие таблицы не размегались при копировании.
perpetule вне форума  
 
Непрочитано 08.05.2013, 16:36
#58
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
Есть ли опробированные решения
Самый быстрый и простой способ: выделяешь какую-нибудь колонку в таблице основной надписи и смотришь свойство высоты ячейки. Если требуется - задаёшь корректное значение (оно применится ко всем строкам таблицы).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 16:39
#59
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от hwd Посмотреть сообщение
Нечётко сформулированная мысль. Какие листы? Из одного чертежа или из разных? На какое устройство печати? Как поступишь, если в организации заменили плоттер? Вопросов возникает много и без их конкретизации всё это ни о чём.
для каждого листа, естественно, в одном чертеже осуществляшь _pagesetup.
Все плоттеры должны быть в формате *.pc3
Не составляет труда заменить имя нового плоттера на старое.
PS мой скромный опыт в деле постоянной успешной замены плоттеров, к сожалению, только около 13 лет.

Последний раз редактировалось Хмурый, 08.05.2013 в 16:44.
Хмурый вне форума  
 
Непрочитано 08.05.2013, 16:46
#60
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
мало заметны
не разбегались при копировании
Как изменить я знаю. И заблокировать кадовскую таблицу от изменения высоты тоже не выйдет.
Так что либо мириться с этим моментом, либо попытаться сделать его хотя бы заметнее.

Эврика - или брать такую таблицу только из шаблона ....

Т.е. такая система прижилась на ваших 8-ми этажах?

Последний раз редактировалось perpetule, 08.05.2013 в 16:55.
perpetule вне форума  
 
Непрочитано 08.05.2013, 16:49
#61
hwd

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


@Хмурый
Давай по порядку. Для начала, условимся о некоторых исходных данных. Ниже я их сформулирую, а ты поправь, если потребуется. Потом пошагово сравним публикацию без подшивки, с публикацией через подшивку.

Исходные данные:
1. В проекте множество dwg файлов.
2. В каждом dwg файле оформлены Layouts (по одному или более).
3. Layouts имеют разные, сильно отличающиеся форматы, в виду чего какие-то целесообразно выводить на принтер, а какие-то на плоттер.
4. В организации несколько принтеров и плоттеров, желательно иметь возможность распечатать на любом, подходящем по формату, как можно более простым способом.

Похоже на реальность?

@perpetule
На практике ко мне с обозначенной проблемой за всё время обращались раз 5, и то - в виду отсутствия навыков по работе с таблицами. Показал как управлять форматированием и менять размеры ячеек\строк\столбцов - вопрос отпал. Как только такие навыки появляются, проблема отпадает. Если хочешь - можешь использовать блок, но это не решит проблему, поскольку там будет другая музыка (её я так же обозначил в предыдущих сообщениях).

Цитата:
Эврика - или брать такую таблицу только из шаблона ....
Понятное дело, что из шаблона (не думал, что это нужно пояснять). Более того, почти все табличные стили основаны на Table Template и основная надпись - не исключение.

Цитата:
Т.е. такая система прижилась на ваших 8-ми этажах?
У нас не 8 этажей.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 08.05.2013 в 17:01. Причина: п.с. внёс уточнение в п.4
hwd вне форума  
 
Непрочитано 08.05.2013, 17:20
#62
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Да не буду ни в чём уславливаться.
"Подшивка"- неблагородное наследие программы "Batch plot utility" из-за реакции запоздалых пользователей
Хмурый вне форума  
 
Непрочитано 08.05.2013, 17:24
#63
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
В реальных условиях штамп просто берут из рядом лежащего, листа или модели или еще чего.

Штамп - блоком с атрибутами и без, штамп внешней ссылкой, + поля на все что движется - все это я уже пробовал, идеальных вариантов просто нет.
На данный момент на предмет штампа охота таблицы пощупать. Спасибо за ответ.
perpetule вне форума  
 
Непрочитано 08.05.2013, 17:28
#64
hwd

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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
Да не буду ни в чём уславливаться.
На нет и суда нет.

Цитата:
Сообщение от Хмурый Посмотреть сообщение
"Подшивка"- неблагородное наследие программы "Batch plot utility" из-за реакции запоздалых пользователей
В основу утверждения должно быть положено объективное основание. Поскольку разобрать вопрос ты отказался, то и не стоит делать столь категоричных заявлений (кто-то может принять за проверенное утверждение).

P.S. количество лет в использовании инструмента не всегда является показателем качества этого использования.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 17:33
#65
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от hwd Посмотреть сообщение
На нет и суда нет.


В основу утверждения должно быть положено объективное основание. Поскольку разобрать вопрос ты отказался, то и не стоит делать столь категоричных заявлений (кто-то может принять за проверенное утверждение).

P.S. количество лет в использовании инструмента не всегда является показателем качества этого использования.
Да я и не делаю категоричных заявлений, зная, что AutoDesk много чего делает без развития.
подшивка- это очередной аппендикс AutoCAD'а
И на какой вопрос я отказался ответить?
Да. Подшивку не использую. Если-бы работал в машиностроении- использовал-бы. Наверное...
Один файл- один чертёж..

Последний раз редактировалось Хмурый, 08.05.2013 в 17:43.
Хмурый вне форума  
 
Непрочитано 08.05.2013, 17:59
#66
hwd

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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
И на какой вопрос я отказался ответить?
Не нужно передёргивать мои слова. Я писал "отказался разобрать", а не "отказался ответить" - это разные вещи.

P.S. Я домой.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.05.2013, 18:08
#67
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от hwd Посмотреть сообщение
Не нужно передёргивать мои слова. Я писал "отказался разобрать", а не "отказался ответить" - это разные вещи.

P.S. Я домой.
Разбираться во всей этой ботве не собираюсь.
Раньше были одни команды, теперь- другие.
Вот, я и спросил: "так-ли нужна эта "подшивка"?"
PS это моё сугубо личное скептическое мнение об ещё одном из бесперспективных направлений

Последний раз редактировалось Хмурый, 08.05.2013 в 19:20.
Хмурый вне форума  
 
Непрочитано 08.05.2013, 20:37
#68
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Подшивка создавалась не для того чтобы печатать (паблишь давно существовал), печать это так, логичная опция которая в ней не могла не появиться. Подшивка нужна для управления листами нескольких файлов из одного места. Наглядно видно что за чем, к какому разделу относится, можно быстро соориентироваться и тут же открыть нужный лист. В подшивке можно прописывать какие-то общие для всего проекта данные и для каждого листа в частности, без необходимости открывать кучу файлов для их редактирования. Можно управлять нумерацией видов (читай узлы и разрезы), только этим мало кто заморачивается. С автоматической нумерацией листов в подшивке не доделали конечно, забиваю вручную, но ссылаться на номера листов в подшивке по чертежу одно удовольствие, использовал бы подшивки только из-за этого. Генерация таблицы списка листов тоже не могла не появиться в подшивке, но к сожалению сделана через одно место...

Про штамп. ИМХО уже несколько раз озвучивал. Динблок рамки содержит в себе xref на файл штампа. Файл штампа храниться вместе с файлами проекта. В этом файле обычными отрезками и текстом отрисованы 10 штампов. Отрисовывается там то, что должно повторяться во всех чертежах. Динблок сам по себе позволяет в одном проекте на разных листах переключаться между этими штампами (которые все хранятся в одном месте). Это позволяет использовать разные штампы и фамилии на различных листах и при этом редактируется все в одном месте. Можно и коллеге этот заполненный файл штампа на сервер скинуть, ему останется только включить нужный.
В самом динблоке рамки со штампом всего два атрибута один со ссылкой на номер листа, второй со ссылкой на Description (название листа) в подшивке. Далее по Description делаю ведомость листов.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 08.05.2013, 21:04
#69
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Krieger,
Цитата:
со ссылкой на номер листа, второй со ссылкой на Description (название листа) в подшивке.
Локализация не дает возможности адекватно запомнить что как наз-ся.
Description это то что имеет ограничение в 64 символа и видно, или то что без ограничений и зарыто.

Есть еще сквозной номер ?

Цитата:
Подшивка нужна для управления листами нескольких файлов из одного места.
- очень точная формулировка.
perpetule вне форума  
 
Непрочитано 08.05.2013, 22:28
#70
hwd

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


К сожалению, неоднократно встречал пользователей, которые считали, что хорошо разбираются в подшивках. Однако на поверку оказывалось, что их компетентность не распространялась на такие понятия как "Callout Blocks", Page Setup Override" и т.д. В палитре подшивок они, как правило, использовали только первые две вкладки, не вникая в предназначение третьей, а высшим пилотажем для них была возможность выполнять привязку полей к свойствам подшивки.

При грамотных настройках, публикация из подшивки выполняется гораздо удобнее и быстрее, чем
Цитата:
Сообщение от Хмурый
Выделяешь листы, которые следует печатать и посылаешь их на Публикацию
Выше я предлагал @Хмурому совместно рассмотреть два варианта публикации для того, чтобы выявить узкие места, а так же плюсы обоих подходов, дабы на основе изложенных аргументов прийти к согласованному выводу. Однако теперь, что-либо объяснять по подшивкам @Хмурому (который и так всё знает), изначально задающему вопросы вида
Цитата:
так-ли нужна эта "подшивка"?"
и при этом старательно демонстрирующему, что мол на самом деле ответ на этот вопрос ему нафиг не нужен, у меня желания нет.

Для того, чтобы давать адекватные оценки инструменту, в нём нужно разбираться поболее, чем на уровне создания листов и их групп. Не существует софта без ошибок. Не все инструменты в AutoCAD реализованы так, как нам того бы хотелось, однако не разбираясь в них как следует, невозможно выжать из них того максимум возможного, что было бы нам полезно. Подшивки далеко не идеальны, но их грамотное использование делает работу более комфортной и подчас позволяет выполнять некоторые операции значительно быстрее и безопасней.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 09.05.2013, 09:39
#71
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от @hwd Посмотреть сообщение
К сожалению, неоднократно встречал пользователей, которые считали, что хорошо разбираются в подшивках. Однако на поверку оказывалось, что их компетентность не распространялась на такие понятия как "Callout Blocks", Page Setup Override" и т.д. В палитре подшивок они, как правило, использовали только первые две вкладки, не вникая в предназначение третьей, а высшим пилотажем для них была возможность выполнять привязку полей к свойствам подшивки.

При грамотных настройках, публикация из подшивки выполняется гораздо удобнее и быстрее, чем

Выше я предлагал @Хмурому совместно рассмотреть два варианта публикации для того, чтобы выявить узкие места, а так же плюсы обоих подходов, дабы на основе изложенных аргументов прийти к согласованному выводу. Однако теперь, что-либо объяснять по подшивкам @Хмурому (который и так всё знает), изначально задающему вопросы вида

и при этом старательно демонстрирующему, что мол на самом деле ответ на этот вопрос ему нафиг не нужен, у меня желания нет.

Для того, чтобы давать адекватные оценки инструменту, в нём нужно разбираться поболее, чем на уровне создания листов и их групп. Не существует софта без ошибок. Не все инструменты в AutoCAD реализованы так, как нам того бы хотелось, однако не разбираясь в них как следует, невозможно выжать из них того максимум возможного, что было бы нам полезно. Подшивки далеко не идеальны, но их грамотное использование делает работу более комфортной и подчас позволяет выполнять некоторые операции значительно быстрее и безопасней.
В этой теме уже обговорено всё это.

PS ещё я могу спросить "так-ли уж нужна эта аннотативность?" и ещё с десяток вопросов по другим недоделанным командам

Последний раз редактировалось Хмурый, 09.05.2013 в 10:50.
Хмурый вне форума  
 
Непрочитано 09.05.2013, 14:09
#72
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Цитата:
Подшивки далеко не идеальны, но их грамотное использование делает работу более комфортной и подчас позволяет выполнять некоторые операции значительно быстрее и безопасней.
С этим я полностью согласен. Но уровень пользователя для использования всех прелестей подшивок, должен быть мягко говоря выше среднего, кроме того вы сами соглашаетесь что
Цитата:
Подшивки далеко не идеальны, но
У пользователя время от времени щупающего подшивку ест-но возникает некоторое отвращения после того как он наступит на те или иные грабли коих немало, и описания их разбросаны по 2-3 сотням страниц форума.

Инструменты (стоящие) рано или поздно зализывают, так было например с многострочным текстом и со многими другими вещами.

Всякому инструменту - свой уровень. На уровне отдельного пользователя или даже небольшой группы, функционал подшивки довольно избыточен. Для группы из 20-30 чел он совершенно необходим и даже недостаточен.

Кстати в этой теме недостаточно полно отражены.
"Callout Blocks", Page Setup Override" (есть отдельные упоминания).
perpetule вне форума  
 
Непрочитано 09.05.2013, 14:18
#73
hwd

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
У пользователя время от времени щупающего подшивку ест-но возникает некоторое отвращения после того как он наступит на те или иные грабли коих немало
Это что же за грабли такие, что даже отвращение способны вызывать?

Цитата:
Кстати в этой теме недостаточно полно отражены. "Callout Blocks", Page Setup Override" (есть отдельные упоминания).
Я не давал этой ссылки. Все вопросы к тому, кто её давал. А в чём собственно сложности с обозначенным функционалом? Я сам когда-то по справке учился работе с подшивкой - никаких проблем с пониманием не возникло. Читал справку по соответствующим темам? Если что-то не понял из прочитанного - спрашивай, постараюсь ответить.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 09.05.2013, 15:03
#74
PashaStr

инженер-конструктор
 
Регистрация: 24.04.2011
Минск
Сообщений: 320


Вставлю своих пять копеек. Без подшивки - как без рук. Не представляю как можно распечатать альбом в 100 и более листов (обычное для нас дело) без неё. Используем различные вариации полей на свойства листа; автоматически собираем ведомость рабочих чертежей, ведомость спецификаций. Принцип организации штампа - примерно такой как описывал Krieger. С перенумерованием листов боремся vba макросом опубликованным в данной теме (прекрасно работает вплоть до 2014 автокада на win32). Если необходима сквозная дополнительная нумерация, то можно создать ещё одно поле (с его перенумерацией может помочь вот эта ссылка).

В своё время баловался Callout Blocks. Не прижилось. Очень редко нужно редактировать номера разрезов, видов и т.д. Да, можно сразу из подшивки найти нужный разрез, но не удобство во множестве действий - сначала создай вид в модели потом забрось на лист, потом вставь сам блок для вида, на это уходит много времени (да ещё при вставке вида с модели на лист наблюдаются определённые поддтормаживания). Если бы не было тормзов, вероятно пользовался.

hwd я с вами согласен в плане того, что нужно выжимать из программы всё. Вот, не давно, в силу производственной необходимости, прикрутили базу данных к автокаду.
PashaStr вне форума  
 
Непрочитано 09.05.2013, 22:15
#75
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


PashaStr,
Цитата:
Если бы не было тормзов, вероятно пользовался.
^C^C_.QSAVE;_.UPDATETHUMBNAIL;4;_.UPDATETHUMBSNOW;_.UPDATETHUMBNAIL;0;
(только текущий чертеж)

^C^C_.SAVEALL;_.UPDATETHUMBNAIL;4;_.UPDATETHUMBSNOW;_.UPDATETHUMBNAIL;0;
(все открытые чертежи с использованием ET)

Изрядные тормоза вызывает использование и обновление по умолчанию превьюшек листов подшивки.
Макрос сохраняет открытый файл вкл эту функцию (обновляет превьюшки) и выключает ее.
к
Цитата:
Callout Blocks
отношения не имеет.

Последний раз редактировалось perpetule, 09.05.2013 в 23:11.
perpetule вне форума  
 
Непрочитано 09.05.2013, 22:41
#76
PashaStr

инженер-конструктор
 
Регистрация: 24.04.2011
Минск
Сообщений: 320


perpetule спасибо обязательно попробую. Может знаете более простой способ для создания видов модели, чем стандартный?
PashaStr вне форума  
 
Непрочитано 09.05.2013, 23:09
#77
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


PashaStr,
здесь

В блоке форматки ( скачать dwg из с1 - Standard.zip ) в НПУ (мелкий текст в непечатаемом слое) формируется строка для макроса и имя для именованного вида модели (текст), при его копировании в ком строку остается нажать ENTER указать две точки и именованный вид модели у вас создан, сама тема заслуживает большего внимания чем мой довольно обширный, но скромный по содержимому пост.

Сам макрос можно вытащить из блока и повесить на кнопку, один из минусов именованных видов сортировка по имени как в проводнике - обход проблемы - отвлеченная нумерация видов с шагом, дабы можно было вставить между уже существующими.

Очень неплохо бы было доработать лисп из этой темы, вместо печати - создание именованных видов с авт. нумерацией, правда тормозная вставка именованного вида из подшивки на лист сводит эту затею к сомнительным по скорости, в тоже время этот способ оформления крайне очевиден и нагляден.

Последний раз редактировалось perpetule, 09.05.2013 в 23:45.
perpetule вне форума  
 
Непрочитано 12.05.2013, 10:51
#78
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


hwd,
Попробовал в качестве штампа таблицу када, очень даже ничего, но при авт. замене через поиск фамилий и т.д. может уйти формат у всех 50-100 штампов, упрятал таблицу в блок- потерял индивидуальное редактирование ячейки ... Наложил (не вставляя в ячейку) блок с атрибутами - там где надо индивидуально редактировать, получил почти то же что и было.
Нет ли способа редактировать атрибуты блока вставленного в ячейку, стандартная атредм не дает выбрать в этом случае.
perpetule вне форума  
 
Непрочитано 12.05.2013, 11:01
1 | #79
hwd

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


@perpetule
Пользоваться поиском для замены фамилий - не самое лучшее решение (имхо), т.к. в чертеже может быть оформлено сразу несколько Layouts, а заменить, предположим, тебе нужно фамилию лишь на некоторых.
У нас сделано по другому: в свойствах подшивки созданы дополнительные свойства уровня листа, например "Исполнил". Соответственно у листа подшивки появляется набор дополнительных свойств, значения которых индивидуальны для него. В ячейке таблицы размещаем поле, считывающее информацию из нужного дополнительного свойства. Всё очень быстро меняется и таблица никуда не расползается.

Цитата:
но при авт. замене через поиск фамилий и т.д. может уйти формат у всех 50-100 штампов,
Не сталкивался с подобным, т.к. сделал через доп. свойства, как описал выше. Сейчас проверить твоё утверждение не могу, т.к. дома Linux, а настроенный нужным образом AutoCAD находится на работе. Завтра, из любопытства, попробую поиском, как ты выше писал, заменить содержимое ячеек, дабы увидеть, уходит ли форматирование ячеек.
Цитата:
Наложил (не вставляя в ячейку) блок с атрибутами - там где надо индивидуально редактировать, получил почти то же что и было.
Этого я не понял. Т.е. ты блок с атрибутами просто разместил над таблицей?
Цитата:
Нет ли способа редактировать атрибуты блока вставленного в ячейку, стандартная атредм не дает выбрать в этом случае.
Насколько я помню, атрибуты блока вообще не сохраняют изменения в форматировании заданное им при редактировании (оно слетает при закрытии диалогового окна редактирования атрибутов). Такая проблема у меня была в 2009-м, как дела обстоят в более новых версиях - не помню.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 16.05.2013, 09:06
#80
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от Хмурый Посмотреть сообщение
подшивка- это очередной аппендикс AutoCAD'а
...
Да. Подшивку не использую. Если-бы работал в машиностроении- использовал-бы. Наверное...
Не согласен. Подшивка - это очень нужная и полезная вещь. Сильно облегчает работу.
Работаю не в машиностроении.
Да, она была изначально неудобной, но начиная наверно с 2008-го Автокада (могу ошибаться чуть-чуть) она стала вполне себе ничего. Не скрою, хотелось бы большего, но это уже пожелания к по-сути годной вещи, а не к аппендиксу, как ты здесь необдуманно выразился.
Makswell вне форума  
 
Непрочитано 02.08.2013, 10:59 Виснет автокад при обращении по гиперссылке на нужный лист
#81
allar8


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


Виснет автокад при обращении по гиперссылке на нужный лист. Гиперссылка вставлена из подшивки. И виснет как то странно - перестает работать левая и правая кнопка мыши, колесико пока работает. и через некоторое время автокад полностью зависает. Кто нить встречался с такой проблемой.
allar8 вне форума  
 
Непрочитано 06.08.2013, 11:02
#82
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Хмурый #65
Цитата:
...подшивка- это очередной аппендикс AutoCAD'а
Ради справедливости замечу, что в вертикалках подшивка появилась раньше, потом уже в Autocad, в урезанном виде.
VitalyAF вне форума  
 
Непрочитано 17.08.2013, 15:06
#83
allar8


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


Цитата:
Сообщение от Сергей Богатов Посмотреть сообщение
высылаю без пароля
Вложения
Копия autonumbering.dvb (32.5 Кб, 237 просмотров)
Подскажите плиз, как иcпользовать этот макрос?
allar8 вне форума  
 
Непрочитано 17.08.2013, 21:30
#84
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от allar8 Посмотреть сообщение
Подскажите плиз, как иcпользовать этот макрос?
VBA есть ?
Offtop: Наверное тоже набор листов собранных с разных файлов ?
maratovich вне форума  
 
Непрочитано 18.08.2013, 16:41
#85
allar8


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


Цитата:
Сообщение от maratovich Посмотреть сообщение
VBA есть ?
Offtop: Наверное тоже набор листов собранных с разных файлов ?
Есть. И еще у меня Асад 2010.
allar8 вне форума  
 
Непрочитано 20.08.2013, 15:30
#86
allar8


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


Цитата:
Сообщение от Сергей Богатов Посмотреть сообщение
Кстати - попробуй поменять библиотеку на AcSMComponents18
Получается также как и в Посте #25. Может знаете как помочь?
allar8 вне форума  
 
Непрочитано 03.02.2014, 15:39
#87
Talion


 
Регистрация: 17.10.2011
Самара
Сообщений: 12
<phrase 1=


Добрый день.

Создал тему относительно подшивок. Быть может кто нибудь сможет помочь в данном вопросе?
Talion вне форума  
 
Непрочитано 03.02.2014, 16:33
#88
Сергей Богатов


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


Цитата:
Сообщение от Talion Посмотреть сообщение
Добрый день.

Создал тему относительно подшивок. Быть может кто нибудь сможет помочь в данном вопросе?
Ты прочитал эту тему и все вложения которые тут есть? В #11,12,13 есть эта информация.

Offtop: p.s.
Ты уж больше 2 недель вопросы задаёшь - за это время можно уже разобраться было, а не писать в ЛС и создавать "новые темы". Тебе наверное всё-таки в "Поиск исполнителей" надо писать...
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Непрочитано 04.02.2014, 09:19
#89
Talion


 
Регистрация: 17.10.2011
Самара
Сообщений: 12
<phrase 1=


Да я прочитал эту тему! И разбирался по вложениям! Практически во всем разобрался. У меня только один вопрос - заполнение пользовательской формы (свойствами подшивки и свойствами листов) при ее инициализации! Это наверняка пару строк кода. И если вы знаете как это делать, почему бы не подсказать. Для чего же этот форум? А в личку писал, Сергей, потому что я подумал что именно у вас есть в этом опыт.

----- добавлено через ~1 ч. -----
Сергей, подскажите, если вы знаете. Я уже всю голову себе сломал.
Talion вне форума  
 
Непрочитано 04.02.2014, 10:49
#90
Сергей Богатов


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


Цитата:
Сообщение от Talion Посмотреть сообщение
Да я прочитал эту тему! И разбирался по вложениям! Практически во всем разобрался. У меня только один вопрос - заполнение пользовательской формы (свойствами подшивки и свойствами листов) при ее инициализации! Это наверняка пару строк кода. И если вы знаете как это делать, почему бы не подсказать. Для чего же этот форум? А в личку писал, Сергей, потому что я подумал что именно у вас есть в этом опыт.
В приведённых документах в постах №12,13 это есть. В "хелпе" автокада это есть. Но нет готового кода для тебя Тебе форум "подсказал" же уже. Приложи немного усилий - последний рывок!

Цитата:
Для чего же этот форум?
Чтоб давать "удочку и море, а не "рыбу"

Код:
[Выделить все]
Private Function GetSheetIndex() As Long 
Dim mySheet As AcSmSheet 
Set mySheet = GetSheet 
Dim myProps As AcSmCustomPropertyBag 
Set myProps = mySheet.GetCustomPropertyBag 
On Error Resume Next 
Dim myProp As IAcSmCustomPropertyValue 
Set myProp = myProps.GetProperty(ssmSheetIndex) 
GetSheetIndex = CLng(myProp.GetValue) 
Set myProp = Nothing 
Set myProps = Nothing 
Set mySheet = Nothing 
End Function
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Непрочитано 04.02.2014, 11:35
#91
Talion


 
Регистрация: 17.10.2011
Самара
Сообщений: 12
<phrase 1=


От усилий мозг уже скоро взорвется)))

Вот в офисе все просто...

Код:
[Выделить все]
ActiveDocument.CustomDocumentProperties.Item("свойство документа") = TextBox1
При инициализации

Код:
[Выделить все]
TextBox1.Value = ActiveDocument.CustomDocumentProperties.Item("свойство документа").Value
В автокаде же!

Код:
[Выделить все]
SetCustomProperty oSheetDb, "свойство подшивки", TextBox1
Мне бы хотя бы намек, как развернуть этот код в обратную сторону(((
Talion вне форума  
 
Непрочитано 16.04.2014, 13:39
#92
Talion


 
Регистрация: 17.10.2011
Самара
Сообщений: 12
<phrase 1=


Тут есть кто живой?
Talion вне форума  
 
Непрочитано 16.04.2014, 13:58
#93
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


А? Кто тут?

С программированием лучше в другой раздел обратиться.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 16.04.2014, 14:13
#94
Talion


 
Регистрация: 17.10.2011
Самара
Сообщений: 12
<phrase 1=


Да я обратился и в другой. Там вообще ни одно ответа.
Talion вне форума  
 
Непрочитано 04.05.2016, 09:16
#95
Jmix


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


Добрый день.
Спасибо Сергею Богатову за выложенный проект. Невероятно ускоряет работу с подшивкой. Дополнил программу еще одной функцией: в папке чертежей должен находиться names.txt, где указаны все названия листов. Из "нумератора" подключаем файл names.txt и именуем все листы в подшивке. Ну а потом нумеруем все листы в подшивке.
Для меня гораздо удобнее набить названия листов в текстовом файле, чем в стандартном менеджере подшивок.

Но есть все же один важный момент: как перебирать листы только в одной активной подшивке данного чертежа и не трогать другие?? Пытался разобраться с постом #14 - не смог. Подскажите пожалуйста.
Для тех, кого интересует, выкладываю измененный код Сергея Богатова.
Спасибо.
Вложения
Тип файла: rar autonumbering.rar (25.8 Кб, 35 просмотров)
Jmix вне форума  
 
Непрочитано 06.05.2016, 11:12
#96
Jmix


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


Вопрос отпадает. Все-таки смог разобраться с кодом поста №14. Теперь и нумерует, и именует только нужную подшивку.
Вложения
Тип файла: rar autonumbering.rar (23.3 Кб, 93 просмотров)
Jmix вне форума  
 
Непрочитано 13.05.2016, 09:01
#97
Jmix


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


Добрый день.

Макрос дполнен: встроена автозагрузка dll от bargool (перенос из модели в листы), вставка блока с полями подшивки (имя листа и номер листа) с изменением значения переменной plscale для каждого листа, вставка блока сквозной нумерации стадии П и создание переменной num в свойствах чертежа, возможность автонумерации листов в подшивке (макрос autonumbering Сергея Богатова), возможность вставки названий листов проекта из файла names.txt в каталоге проекта. Файл шаблона (template.dwg) с необходимыми блоками прилагаю.
Все данные мероприятия позволяют значительно ускорить оформление документации независимо от количества страниц. Большое спасибо разработчикам ПО за возможность использования ваших трудов.
Вложения
Тип файла: rar 00_GAM.rar (181.5 Кб, 91 просмотров)
Jmix вне форума  
 
Автор темы   Непрочитано 17.05.2016, 15:46
#98
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Цитата:
Сообщение от Jmix Посмотреть сообщение
Добрый день.

Макрос дполнен: встроена автозагрузка dll от bargool (перенос из модели в листы), вставка блока с полями подшивки (имя листа и номер листа) с изменением значения переменной plscale для каждого листа, вставка блока сквозной нумерации стадии П и создание переменной num в свойствах чертежа, возможность автонумерации листов в подшивке (макрос autonumbering Сергея Богатова), возможность вставки названий листов проекта из файла names.txt в каталоге проекта. Файл шаблона (template.dwg) с необходимыми блоками прилагаю.
Все данные мероприятия позволяют значительно ускорить оформление документации независимо от количества страниц. Большое спасибо разработчикам ПО за возможность использования ваших трудов.
Вложения
00_GAM.rar (181.5 Кб, 10 просмотров)
Простите .... у меня такая ошибка вылазит. 2016 акад.
Миниатюры
Нажмите на изображение для увеличения
Название: 111.jpg
Просмотров: 126
Размер:	95.2 Кб
ID:	170497  
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 17.05.2016, 19:30
#99
Jmix


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


При нумерации макрос проверяет в какую из открытых подшивок в менеджере подшивок входят листы из открытого файла. Это позволяет нумеровать только одну подшивку. На скриншоте видно, что ни один файл с листами проекта не открыт (замочек в менеджере на листах не стоит), открыт пустой чертеж. Попробуйте открыть файл из подшивки. Возможно в этом проблема.
Jmix вне форума  
 
Автор темы   Непрочитано 18.05.2016, 10:33
#100
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Цитата:
Сообщение от Jmix Посмотреть сообщение
При нумерации макрос проверяет в какую из открытых подшивок в менеджере подшивок входят листы из открытого файла. Это позволяет нумеровать только одну подшивку. На скриншоте видно, что ни один файл с листами проекта не открыт (замочек в менеджере на листах не стоит), открыт пустой чертеж. Попробуйте открыть файл из подшивки. Возможно в этом проблема.
Не помогло. нажал debug - вот что выдало :
Миниатюры
Нажмите на изображение для увеличения
Название: 222.jpg
Просмотров: 95
Размер:	163.4 Кб
ID:	170551  
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 18.05.2016, 10:50
#101
Jmix


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


Понял. Моя ошибка. Я принял по умолчанию следующее местонахождение макроса и вспомогательных файлов макроса: c:\program files\autodesk\autocad 2016\00_GAM. (Application.Path + "\00_GAM")

В исправленном варианте макрос сам находит свою папку и вспомогательные файлы в ней.
Вложения
Тип файла: rar 00_GAM.rar (174.9 Кб, 85 просмотров)
Jmix вне форума  
 
Автор темы   Непрочитано 18.05.2016, 11:15
#102
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Опять не работает
Цитата:
Сообщение от Jmix Посмотреть сообщение
Понял. Моя ошибка. Я принял по умолчанию следующее местонахождение макроса и вспомогательных файлов макроса: c:\program files\autodesk\autocad 2016\00_GAM. (Application.Path + "\00_GAM")

В исправленном варианте макрос сам находит свою папку и вспомогательные файлы в ней.
Вложения
00_GAM.rar (174.9 Кб, 0 просмотров)
Миниатюры
Нажмите на изображение для увеличения
Название: 444.jpg
Просмотров: 121
Размер:	116.9 Кб
ID:	170560  Нажмите на изображение для увеличения
Название: 333.jpg
Просмотров: 108
Размер:	120.1 Кб
ID:	170561  
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 18.05.2016, 11:28
#103
Jmix


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


Возможно ошибка возникает из-за отключенного компонента в VBA.
Зайдите в меню Tools - References... Уберите галочку AcSmComponents17.... и поставьте галочку галочку AcSmComponents20...
Jmix вне форума  
 
Автор темы   Непрочитано 18.05.2016, 11:55
#104
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320


Цитата:
Сообщение от Jmix Посмотреть сообщение
Возможно ошибка возникает из-за отключенного компонента в VBA.
Зайдите в меню Tools - References... Уберите галочку AcSmComponents17.... и поставьте галочку галочку AcSmComponents20...
Простите, у меня русская версия , можно ли чуть более подробнее ... спасибо за помощь
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 18.05.2016, 12:06
#105
Jmix


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


Цитата:
Сообщение от Jmix Посмотреть сообщение
Возможно ошибка возникает из-за отключенного компонента в VBA.
Зайдите в меню Tools - References... Уберите галочку AcSmComponents17.... и поставьте галочку галочку AcSmComponents20...
Меню не для Autocad, а для Microsoft Visual Basic for Application
В Автокаде зайдите в меню Сервис - Макрос - Редактор Visual Basic.
Выделите в окне Project - Pdeign. Далее зайдите в меню Tools - References... Уберите галочку AcSmComponents17.... и поставьте галочку галочку AcSmComponents20...
Jmix вне форума  
 
Автор темы   Непрочитано 18.05.2016, 12:55
#106
Peter

строительство
 
Регистрация: 27.02.2005
Украина
Сообщений: 320



----- добавлено через ~6 мин. -----
https://www.youtube.com/watch?v=6S6BbxhAF8c
__________________
С ув. Петр
Peter вне форума  
 
Непрочитано 22.06.2016, 09:27
#107
KEHT


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


Цитата:
Сообщение от Jmix Посмотреть сообщение
Выделите в окне Project - Pdeign. Далее зайдите в меню Tools - References... Уберите галочку AcSmComponents17.... и поставьте галочку галочку AcSmComponents20...
Т.е. программа будет работать только с 2015 автокада? 2011 Автокад не работает? нету AcSmComponents20.???
KEHT вне форума  
 
Непрочитано 22.06.2016, 10:35
#108
KEHT


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


нашел AcSmComponents20 скопировал, запустилась программка, но ошибка при автонумерации.
Миниатюры
Нажмите на изображение для увеличения
Название: Microsoft Visual Basic - D!USERPRG_LSPПодшивка00_GAMPdesign.dvb [break].jpg
Просмотров: 106
Размер:	30.0 Кб
ID:	172426  Нажмите на изображение для увеличения
Название: Microsoft Visual Basic.jpg
Просмотров: 86
Размер:	15.1 Кб
ID:	172427  
KEHT вне форума  
 
Непрочитано 31.05.2018, 09:46
#109
KEHT


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


Jmix, ты забросил развитие своей программы? Кто нибудь вообще пытается развивать нумерацию подшивок? Тут все так начиналось, и заглохло
KEHT вне форума  
 
Непрочитано 31.05.2018, 09:55
#110
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


я для себя всё сделал

----- добавлено через ~26 мин. -----
Код:
[Выделить все]
Imports acEdInp = Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Imports acWin = Autodesk.AutoCAD.Windows
Imports acApp = Autodesk.AutoCAD.ApplicationServices
'
Imports ACSMCOMPONENTS21Lib
'
Imports System
Imports System.IO
Imports System.Text
Imports System.Windows.Forms

Public Class Commands
    'Shared ps As acWin.PaletteSet = Nothing
    'Shared uc As UserControl1 = Nothing
    Public Const ClassId As String = ""
    Public Const InterfaceId As String = ""
    Public Const EventsId As String = ""

    Shared sheetSetManager As IAcSmSheetSetMgr = Nothing

    <CommandMethod("SSHelp")> _
    Public Sub SSHelp()
        Dim editor As acEdInp.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        editor.WriteMessage("GetProjValues - посмотреть свойства проекта подшивки" & vbLf)
        editor.WriteMessage("SetProjValue - установить свойство проекта подшивки" & vbLf)
        editor.WriteMessage("GetCustomProperty - посмотреть дополнительные свойства подшивки" & vbLf)
        editor.WriteMessage("SetCustomProperty - установить дополнительные свойства подшивки" & vbLf)
        editor.WriteMessage("RenameSubSet - переименовать разделы подшивки" & vbLf)
        editor.WriteMessage("SortSheet - сортирует листы в группах" & vbLf)
    End Sub

    Public Sub ProcessEnumerator(editor As acEdInp.Editor, wSSCol As IAcSmEnumComponent)
        Dim CPV As IAcSmComponent = wSSCol.Next
        Do While Not (CPV Is Nothing)
            Dim tname As String = CPV.GetTypeName
            editor.WriteMessage(vbLf & "SS Name : " & CPV.GetName & " type: " & tname)
            If tname = "AcSmSubset" Then
                Dim wSubSet As AcSmSubset = CPV
                Dim subName As String = wSubSet.GetName
                If Not String.IsNullOrEmpty(subName) Then ProcessEnumerator(editor, wSubSet.GetSheetEnumerator)
            End If
            CPV = wSSCol.Next
        Loop
    End Sub

    ''' <summary>
    ''' Получение пути к подшивке и её открытие
    ''' </summary>
    ''' <param name="editor"> Editor для взаимодействия с пользователем </param>
    ''' <returns> БД подшивки </returns>
    ''' <remarks></remarks>
    Public Function GetSSDB(editor As acEdInp.Editor) As AcSmDatabase
        Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Путь к подшивке: ")
        pStrOpts.AllowSpaces = True
        Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
        If PrRes.Status = acEdInp.PromptStatus.OK Then
            Dim Path As String = PrRes.StringResult
            Try
                If sheetSetManager Is Nothing Then sheetSetManager = New AcSmSheetSetMgr
                Return sheetSetManager.OpenDatabase(Path, False)
            Catch ex As System.IO.FileNotFoundException
                editor.WriteMessage("Файл не найден!")
                Return Nothing
            End Try
        Else
            Return Nothing
        End If
    End Function

    ''' <summary>
    ''' Получение пути к подшивке, через окно диалога выбора файла, и её открытие
    ''' </summary>
    ''' <param name="editor"> Editor для взаимодействия с пользователем </param>
    ''' <returns> БД подшивки </returns>
    ''' <remarks></remarks>
    Public Function GetSSDB2(editor As acEdInp.Editor) As AcSmDatabase
        Dim sTypes As String = "dst"
        Dim flags As Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags
        Dim wDial As New acWin.OpenFileDialog("Открыть подшивку", "", sTypes, "Открыть подшивку", flags)
        If wDial.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Try
                If sheetSetManager Is Nothing Then sheetSetManager = New AcSmSheetSetMgr
                Return sheetSetManager.OpenDatabase(wDial.Filename(), False)
            Catch ex As System.Exception
                editor.WriteMessage("error: " & ex.ToString)
                Return Nothing
            End Try
        Else
            Return Nothing
        End If
    End Function

    ''' <summary>
    ''' Печать списка CustomProperty подшивки
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("GetCustomProperty")> _
    Public Sub GetCustomProperty()
        Dim editor As acEdInp.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase
        Dim wStr As String = ""
        Dim CPV As New AcSmCustomPropertyValue
        sheetSetDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim PrCol As IAcSmEnumProperty
            PrCol = sheetSetDatabase.GetSheetSet.GetCustomPropertyBag.GetPropertyEnumerator()
            Do While Not (CPV Is Nothing)
                PrCol.Next(wStr, CPV)
                If Not (CPV Is Nothing) Then
                    editor.WriteMessage(wStr & " : " & CPV.GetValue.ToString & vbLf)
                End If
            Loop
            sheetSetManager.Close(sheetSetDatabase)
        End If
    End Sub

    ''' <summary>
    ''' Установка нового значения для свойства (CustomProperty)
    ''' </summary>
    ''' <param name="sheetSetDatabase"> БД подшивки </param>
    ''' <param name="PropertyName"> Имя свойства </param>
    ''' <param name="nValue"> Новое значение </param>
    ''' <remarks></remarks>
    Public Sub SetCP(sheetSetDatabase As AcSmDatabase, PropertyName As String, nValue As String)
        Dim SmEnumProperty As AcSmCustomPropertyBag
        Dim CPV As New AcSmCustomPropertyValue
        SmEnumProperty = sheetSetDatabase.GetSheetSet.GetCustomPropertyBag
        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
            sheetSetDatabase.LockDb(sheetSetDatabase) 'start
            CPV = SmEnumProperty.GetProperty(PropertyName)
            If (CPV IsNot Nothing) Then
                CPV.SetValue(nValue)
                SmEnumProperty.SetProperty(PropertyName, CPV)
            Else
                sheetSetDatabase.UnlockDb(sheetSetDatabase) 'end
                Throw New System.Exception("Свойство не найденно")
            End If
            sheetSetDatabase.UnlockDb(sheetSetDatabase) 'end
        End If
    End Sub

    ''' <summary>
    ''' Установка нового значения для свойства (CustomProperty)
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("SetCustomProperty")> _
    Public Sub SetCustomProperty()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Имя свойства: ")
            pStrOpts.AllowSpaces = True
            Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult.Trim
                pStrOpts.Message = "Новое значение: "
                PrRes = editor.GetString(pStrOpts)
                If PrRes.Status = acEdInp.PromptStatus.OK Then
                    Dim nValue As String = PrRes.StringResult
                    Try
                        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                            SetCP(sheetSetDatabase, PropertyName, nValue)
                        Else
                            editor.WriteMessage(sheetSetDatabase.GetFileName & " is Lock")
                        End If
                    Catch ex As System.Exception
                        'sheetSetDatabase.UnlockDb(sheetSetDatabase)
                        editor.WriteMessage(Environment.NewLine & "error: " & ex.ToString)
                    End Try
                End If
            End If
        End If
    End Sub

    ''' <summary>
    ''' Получение свойств проекта 
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("GetProjValues")> _
    Public Sub GetProjValues()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Try
                Dim ss2 As IAcSmSheetSet2
                ss2 = sheetSetDatabase.GetSheetSet
                editor.WriteMessage("Номер проекта: " & ss2.GetProjectNumber & vbLf)
                editor.WriteMessage("Имя проекта: " & ss2.GetProjectName & vbLf)
                editor.WriteMessage("Фаза проекта: " & ss2.GetProjectPhase & vbLf)
                editor.WriteMessage("Этап проекта: " & ss2.GetProjectMilestone & vbLf)
                sheetSetManager.Close(sheetSetDatabase)
            Catch ex As System.Exception
                editor.WriteMessage("error: " & ex.ToString)
            End Try
        End If
    End Sub

    ''' <summary>
    ''' Установка нового значения для свойства проекта
    ''' </summary>
    ''' <param name="sheetSetDatabase"> БД подшивки </param>
    ''' <param name="PropertyName"> имя свойства </param>
    ''' <param name="nValue"> новое значение </param>
    ''' <remarks></remarks>
    Public Sub SetProjP(sheetSetDatabase As AcSmDatabase, PropertyName As String, nValue As String)
        Dim ss2 As IAcSmSheetSet2
        ss2 = sheetSetDatabase.GetSheetSet
        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
            sheetSetDatabase.LockDb(sheetSetDatabase)
            Select Case PropertyName.ToLower
                Case "d", "dname"
                    Dim ss1 As IAcSmSheetSet
                    ss1 = sheetSetDatabase.GetSheetSet
                    ss1.SetName(nValue)
                Case "n", "number"
                    ss2.SetProjectNumber(nValue)
                Case "a", "name"
                    ss2.SetProjectName(nValue)
                Case "p", "phase"
                    ss2.SetProjectPhase(nValue)
                Case "m", "milestone"
                    ss2.SetProjectMilestone(nValue)
            End Select
            sheetSetDatabase.UnlockDb(sheetSetDatabase)
        End If
    End Sub

    ''' <summary>
    ''' Установка нового значения для свойства проекта
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("SetProjValue", CommandFlags.Interruptible)> _
    Public Sub SetProjValue()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        'Path As String, PropertyName As String, nValue As String
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Имя свойства (Dname/Number/nAme/Phase/Milestone): ")
            pStrOpts.AllowSpaces = True
            Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult.Trim
                pStrOpts.Message = "Новое значение: "
                PrRes = editor.GetString(pStrOpts)
                If PrRes.Status = acEdInp.PromptStatus.OK Then
                    Dim nValue As String = PrRes.StringResult
                    Try
                        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                            SetProjP(sheetSetDatabase, PropertyName, nValue)
                        Else
                            editor.WriteMessage(sheetSetDatabase.GetFileName & " is Lock")
                        End If
                        sheetSetManager.Close(sheetSetDatabase)
                    Catch ex As System.Exception
                        sheetSetDatabase.UnlockDb(sheetSetDatabase)
                        editor.WriteMessage("error: " & ex.ToString)
                    End Try
                End If
            End If
        End If
    End Sub

    ''' <summary>
    ''' Переименовать все разделы
    ''' </summary>
    ''' <param name="tagName"> Имя раздела </param>
    ''' <param name="nName"> Новое имя раздела </param>
    ''' <param name="wSSCol"> Подразделы </param>
    ''' <param name="sheetSetDatabase"> БД подшивки </param>
    ''' <remarks></remarks>
    Public Sub fRenameSubSet(tagName As String, nName As String, wSSCol As IAcSmEnumComponent, sheetSetDatabase As AcSmDatabase)
        Dim CPV As IAcSmComponent = wSSCol.Next
        Do While Not (CPV Is Nothing)
            Dim tname As String = CPV.GetTypeName
            If tname = "AcSmSubset" Then
                If CPV.GetName() = tagName Then
                    If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                        sheetSetDatabase.LockDb(sheetSetDatabase)
                        CPV.SetName(nName)
                        sheetSetDatabase.UnlockDb(sheetSetDatabase)
                    End If
                End If
                Dim wSubSet As AcSmSubset = CPV
                Dim subName As String = wSubSet.GetName
                If Not String.IsNullOrEmpty(subName) Then fRenameSubSet(tagName, nName, wSubSet.GetSheetEnumerator, sheetSetDatabase)
            End If
            CPV = wSSCol.Next
        Loop
    End Sub

    ''' <summary>
    ''' Получение списка имён свойств (CustomProperty)
    ''' </summary>
    ''' <param name="SmEnumProperty"> Набор свойств (CustomProperty) </param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function GetCPNameList(SmEnumProperty As AcSmCustomPropertyBag) As List(Of String)
        Dim rList As New List(Of String)
        Dim wStr As String = ""
        Dim CPV As New AcSmCustomPropertyValue
        Dim PrCol As IAcSmEnumProperty
        PrCol = SmEnumProperty.GetPropertyEnumerator()
        Do While Not (CPV Is Nothing)
            PrCol.Next(wStr, CPV)
            If Not (CPV Is Nothing) Then
                rList.Add(wStr)
            End If
        Loop
        Return rList
    End Function

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="Sheet"></param>
    ''' <param name="PropertyName"></param>
    ''' <param name="nValue"></param>
    ''' <remarks></remarks>
    Public Sub SheetSetCP(Sheet As AcSmSheet, PropertyName As String, nValue As String)
        Dim sheetSetDatabase As AcSmDatabase = Sheet.GetDatabase()
        Dim SmEnumProperty As AcSmCustomPropertyBag
        Dim CPV As New AcSmCustomPropertyValue
        SmEnumProperty = Sheet.GetCustomPropertyBag
        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
            sheetSetDatabase.LockDb(sheetSetDatabase) 'start
            CPV = SmEnumProperty.GetProperty(PropertyName)
            If (CPV IsNot Nothing) Then
                CPV.SetValue(nValue)
                SmEnumProperty.SetProperty(PropertyName, CPV)
            End If
            sheetSetDatabase.UnlockDb(sheetSetDatabase) 'end
        End If
    End Sub


    Public Sub SheetSetCP2(Sheet As AcSmSheet, PropertyName As String, nValue As String)
        Dim sheetSetDatabase As AcSmDatabase = Sheet.GetDatabase()
        Dim SmEnumProperty As AcSmCustomPropertyBag
        Dim CPV As New AcSmCustomPropertyValue
        SmEnumProperty = Sheet.GetCustomPropertyBag
        CPV = SmEnumProperty.GetProperty(PropertyName)
        If (CPV IsNot Nothing) Then
            CPV.SetValue(nValue)
            SmEnumProperty.SetProperty(PropertyName, CPV)
        End If
    End Sub

    Public Sub fSubSetSetCP(wSSCol As IAcSmEnumComponent, PropertyName As String, nValue As String)
        Dim CPV As IAcSmComponent = wSSCol.Next
        'Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Do While Not (CPV Is Nothing)
            Dim tname As String = CPV.GetTypeName
            'editor.WriteMessage(vbLf & "tname: " & tname)
            If tname = "AcSmSheet" Then
                SheetSetCP2(CPV, PropertyName, nValue)
            End If
            If tname = "AcSmSubset" Then
                Dim wSubSet As AcSmSubset = CPV
                Dim subName As String = wSubSet.GetName
                If Not String.IsNullOrEmpty(subName) Then fSubSetSetCP(wSubSet.GetSheetEnumerator, PropertyName, nValue)
            End If
            CPV = wSSCol.Next
        Loop
    End Sub

    '<CommandMethod("test1")> _
    Public Sub test1()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Имя свойства: ")
            pStrOpts.AllowSpaces = True
            Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult
                'editor.WriteMessage(Environment.NewLine)
                pStrOpts.Message = "Новое значение: "
                PrRes = editor.GetString(pStrOpts)
                If PrRes.Status = acEdInp.PromptStatus.OK Then
                    Dim nValue As String = PrRes.StringResult
                    Try
                        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                            fSubSetSetCP(sheetSetDatabase.GetSheetSet().GetSheetEnumerator, PropertyName, nValue)
                        Else
                            editor.WriteMessage(sheetSetDatabase.GetFileName & " is Lock")
                        End If
                    Catch ex As System.Exception
                        editor.WriteMessage("error: " & ex.ToString)
                    End Try
                End If
            End If
            ' fSubSetSetCP(sheetSetDatabase, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, "", "")
        End If
    End Sub

    <CommandMethod("SetAllSheetCustomProperty")> _
    Public Sub SetAllSheetCustomProperty()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Имя свойства: ")
            pStrOpts.AllowSpaces = True
            Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult
                'editor.WriteMessage(Environment.NewLine)
                pStrOpts.Message = "Новое значение: "
                PrRes = editor.GetString(pStrOpts)
                If PrRes.Status = acEdInp.PromptStatus.OK Then
                    Dim nValue As String = PrRes.StringResult
                    Try
                        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                            sheetSetDatabase.LockDb(sheetSetDatabase)
                            fSubSetSetCP(sheetSetDatabase.GetSheetSet().GetSheetEnumerator, PropertyName, nValue)
                            sheetSetDatabase.UnlockDb(sheetSetDatabase)
                        Else
                            editor.WriteMessage(sheetSetDatabase.GetFileName & " is Lock")
                        End If
                    Catch ex As System.Exception
                        editor.WriteMessage("error: " & ex.ToString)
                    End Try
                End If
            End If
            ' fSubSetSetCP(sheetSetDatabase, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, "", "")
        End If
    End Sub

    <CommandMethod("SetAllSheetCustomProperty2")> _
    Public Sub SetAllSheetCustomProperty2()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB2(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pKeyOpts As acEdInp.PromptKeywordOptions = New acEdInp.PromptKeywordOptions(vbLf & "Имя свойства: ")
            pKeyOpts.AppendKeywordsToMessage = True
            pKeyOpts.AllowArbitraryInput = True
            Dim kList As List(Of String) = GetCPNameList(sheetSetDatabase.GetSheetSet.GetCustomPropertyBag)
            kList.ForEach(Sub(obj) pKeyOpts.Keywords.Add("'" & obj & "'"))
            Dim PrRes As acEdInp.PromptResult = editor.GetKeywords(pKeyOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult
                If PropertyName <> "" Then
                    Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Новое значение: ")
                    PrRes = editor.GetString(pStrOpts)
                    If PrRes.Status = acEdInp.PromptStatus.OK Then
                        Dim nValue As String = PrRes.StringResult
                        Try
                            If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                                sheetSetDatabase.LockDb(sheetSetDatabase)
                                fSubSetSetCP(sheetSetDatabase.GetSheetSet().GetSheetEnumerator, PropertyName, nValue)
                                sheetSetDatabase.UnlockDb(sheetSetDatabase)
                            Else
                                editor.WriteMessage(sheetSetDatabase.GetFileName & " is Lock")
                            End If
                        Catch ex As System.Exception
                            editor.WriteMessage("error: " & ex.ToString)
                        End Try
                    End If
                End If
            End If
            ' fSubSetSetCP(sheetSetDatabase, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, "", "")
        End If
    End Sub

    <CommandMethod("test2")> _
    Public Sub test2()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB2(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pKeyOpts As acEdInp.PromptKeywordOptions = New acEdInp.PromptKeywordOptions(vbLf & "Имя свойства: ")
            pKeyOpts.AppendKeywordsToMessage = True
            'pKeyOpts.AllowArbitraryInput = True
            Dim kList As List(Of String) = GetCPNameList(sheetSetDatabase.GetSheetSet.GetCustomPropertyBag)
            kList.ForEach(Sub(obj) pKeyOpts.Keywords.Add("""""" & obj & "1""""", """""" & obj & "2""""", """""" & obj & "3"""""))
            Dim PrRes As acEdInp.PromptResult = editor.GetKeywords(pKeyOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim PropertyName As String = PrRes.StringResult
                If PropertyName <> "" Then
                    editor.WriteMessage("Value: " & PropertyName)
                End If
            End If
            ' fSubSetSetCP(sheetSetDatabase, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, "", "")
        End If
    End Sub

    ''' <summary>
    ''' Переименовать разделы
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("RenameSubSet")> _
    Public Sub RenameSubSet()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        If sheetSetDatabase IsNot Nothing Then
            Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Старое название: ")
            pStrOpts.AllowSpaces = True
            Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
            If PrRes.Status = acEdInp.PromptStatus.OK Then
                Dim tagName As String = PrRes.StringResult
                pStrOpts.Message = "Новое название: "
                PrRes = editor.GetString(pStrOpts)
                If PrRes.Status = acEdInp.PromptStatus.OK Then
                    Dim nName As String = PrRes.StringResult
                    Try
                        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                            fRenameSubSet(tagName, nName, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, sheetSetDatabase)
                        Else
                            editor.WriteMessage(tagName & " is Lock")
                        End If
                        sheetSetManager.Close(sheetSetDatabase)
                    Catch ex As System.Exception
                        editor.WriteMessage("error: " & ex.ToString)
                    End Try
                End If
            End If
        End If
    End Sub


    '<CommandMethod("ARCHIVE_DST")> _
    'Public Sub ARCHIVE_DST()
    '    Dim acDoc As Document = acApp.Application.DocumentManager.MdiActiveDocument
    '    Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acDoc.Editor()
    '    Try
    '        If sheetSetManager Is Nothing Then sheetSetManager = New AcSmSheetSetMgr
    '        'Return sheetSetManager.OpenDatabase(Path, False)
    '    Catch ex As System.Exception
    '        editor.WriteMessage("error: " & ex.ToString)
    '        'Return Nothing
    '    End Try
    '    sheetSetManager.CloseAll()
    '    Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
    '    Dim pStrOpts As acEdInp.PromptStringOptions = New acEdInp.PromptStringOptions(vbLf & "Путь для сохранения: ")
    '    pStrOpts.AllowSpaces = True
    '    Dim PrRes As acEdInp.PromptResult = editor.GetString(pStrOpts)
    '    If PrRes.Status = acEdInp.PromptStatus.OK Then
    '        If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
    '            sheetSetDatabase.LockDb(sheetSetDatabase)
    '            Dim Path As String = PrRes.StringResult
    '            Dim ss2 As IAcSmSheetSet = sheetSetDatabase.GetSheetSet
    '            Dim dstName As String = ss2.GetName()
    '            Dim dstFileName As String = sheetSetDatabase.GetFileName()
    '            'dstFileName = dstFileName.Replace("\", "\\") & "\\" & dstName
    '            Dim fi As FileInfo = New FileInfo(dstFileName)
    '            dstFileName = Path.Replace("\", "\\") & "\\" & fi.Name.Replace(".dst", "")
    '            'dstFileName = Path & "\" & fi.Name.Replace(".dst", "")
    '            Dim ComStr As String = "(command ""-АРХИВАЦИЯ"" """ & dstName & """ ""Создать"" """ & dstFileName & """)"
    '            'editor.WriteMessage(Environment.NewLine & ComStr)
    '            sheetSetDatabase.UnlockDb(sheetSetDatabase)
    '            acDoc.SendStringToExecute(ComStr & Environment.NewLine, True, True, True)
    '            'editor.Command("-АРХИВАЦИЯ", dstName, "Создать", dstFileName)
    '        End If
    '        'sheetSetManager.Close(sheetSetDatabase)
    '    End If
    '    'sheetSetManager.Close(sheetSetDatabase)
    'End Sub

    Public Function GetAllSubSet(wSSCol As IAcSmEnumComponent) As List(Of AcSmSubset)
        Dim CPV As IAcSmComponent = wSSCol.Next
        Dim rList As New List(Of AcSmSubset)
        Do While Not (CPV Is Nothing)
            Dim tname As String = CPV.GetTypeName
            If tname = "AcSmSubset" Then
                Dim wSubSet As AcSmSubset = CPV
                rList.Add(wSubSet)
                Dim subName As String = wSubSet.GetName
                If Not String.IsNullOrEmpty(subName) Then rList.AddRange(GetAllSubSet(wSubSet.GetSheetEnumerator))
            End If
            CPV = wSSCol.Next
        Loop
        Return rList
    End Function

    ''' <summary>
    ''' Сортировка листов в разделах
    ''' </summary>
    ''' <param name="wSS"> Раздел </param>
    ''' <remarks></remarks>
    Public Sub SortSheet(wSS As AcSmSubset)
        Dim sheetSetDatabase As AcSmDatabase = wSS.GetDatabase
        Dim wSSCol As IAcSmEnumComponent = wSS.GetSheetEnumerator
        Dim CPV As IAcSmComponent = wSSCol.Next
        Dim wSheet As AcSmSheet
        Dim wDict As New Dictionary(Of Integer, AcSmSheet)
        Dim sNmbr As String
        Dim iNmbr As Integer
        sheetSetDatabase.LockDb(sheetSetDatabase)
        Do While Not (CPV Is Nothing)
            Dim tname As String = CPV.GetTypeName
            If tname = "AcSmSheet" Then
                'editor.WriteMessage(Environment.NewLine & "AcSmSheet Name: " & CPV.GetName)
                wSheet = CPV
                sNmbr = wSheet.GetNumber
                If Integer.TryParse(sNmbr, iNmbr) Then
                    If Not wDict.ContainsKey(iNmbr) Then
                        wDict.Add(iNmbr, wSheet)
                        wSS.RemoveSheet(wSheet)
                    End If
                End If
            End If
            CPV = wSSCol.Next
        Loop
        Dim iList As List(Of Integer) = wDict.Keys.ToList()
        iList.Sort()
        iList.Reverse()
        For Each i As Integer In iList
            wSS.InsertComponent(wDict(i), Nothing)
        Next
        sheetSetDatabase.UnlockDb(sheetSetDatabase)
    End Sub

    ''' <summary>
    ''' Сортировка листов в разделах
    ''' </summary>
    ''' <remarks></remarks>
    <CommandMethod("SortSheet", CommandFlags.Interruptible)> _
    Public Sub SortSheet()
        Dim editor As Autodesk.AutoCAD.EditorInput.Editor = acApp.Application.DocumentManager.MdiActiveDocument.Editor()
        Dim sheetSetDatabase As AcSmDatabase = GetSSDB(editor)
        Dim rList As New List(Of AcSmSubset)
        If sheetSetDatabase IsNot Nothing Then
            Try
                If sheetSetDatabase.GetLockStatus = AcSmLockStatus.AcSmLockStatus_UnLocked Then
                    'fRenameSubSet(tagName, nName, sheetSetDatabase.GetSheetSet().GetSheetEnumerator, sheetSetDatabase)
                    rList = GetAllSubSet(sheetSetDatabase.GetSheetSet().GetSheetEnumerator)
                    For Each SS As AcSmSubset In rList
                        SortSheet(SS)
                        'editor.WriteMessage(Environment.NewLine & "AcSmSubset Name: " + SS.GetName)
                        'Dim wSSCol As IAcSmEnumComponent = SS.GetSheetEnumerator
                        'Dim CPV As IAcSmComponent = wSSCol.Next
                        'Do While Not (CPV Is Nothing)
                        ' Dim tname As String = CPV.GetTypeName
                        'If tname = "AcSmSheet" Then
                        ' editor.WriteMessage(Environment.NewLine & "AcSmSheet Name: " & CPV.GetName)
                        'End If
                        'CPV = wSSCol.Next
                        'Loop
                    Next
                Else
                    editor.WriteMessage("AcSmDatabase is Lock")
                End If
                sheetSetManager.Close(sheetSetDatabase)
            Catch ex As System.Exception
                editor.WriteMessage("error: " & ex.ToString)
            End Try
        End If
    End Sub

End Class

Последний раз редактировалось trir, 31.05.2018 в 10:38.
trir вне форума  
 
Непрочитано 31.05.2018, 10:25
#111
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Цитата:
Сообщение от KEHT Посмотреть сообщение
Jmix, ты забросил развитие своей программы? Кто нибудь вообще пытается развивать нумерацию подшивок? Тут все так начиналось, и заглохло
Угу, заглохло, у самого производителя. не замечал я изменений в работе подшивок или новых инструментов для работы с ней от Autodesk.

По поводу автоматизации работы с подшивками, подшивка - слегка зашифрованный текстовый файл, алгоритм шифрования и де шифрования с ключами давно валяется в сети, соответственно автоматизировать можно что угодно, как угодно и на каком угодно языке, было бы желание.
У кого было желание и потребность давно это сделали, программа от Jmix и возня с VBA тут вообще не нужны.

trir, Вы пометьте, что это не VBA, a VB.NET, иначе будут вопросы как это vba запустить...
Boxa вне форума  
 
Непрочитано 31.05.2018, 10:47
#112
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


2013
trir вне форума  
 
Непрочитано 08.08.2019, 05:36
#113
allar8


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


Цитата:
Сообщение от trir Посмотреть сообщение
я для себя всё сделал

----- добавлено через ~26 мин. -----
код VB.NET
Цитата:
Сообщение от trir Посмотреть сообщение
2013
c префиксами я так понял не работает, только с целочисленными номерами?
В 2017 и 2020 акадах не будет работать?

Цитата:
Сообщение от Boxa Посмотреть сообщение
У кого было желание и потребность давно это сделали
Но видимо только для себя?) Ведь многие сделать для себя не умеют, но им тоже интересно)

Последний раз редактировалось allar8, 08.08.2019 в 05:59.
allar8 вне форума  
 
Непрочитано 08.08.2019, 06:57
#114
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
Ведь многие сделать для себя не умеют, но им тоже интересно)
А они готовы за это заплатить?
trir вне форума  
 
Непрочитано 08.08.2019, 08:42
#115
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
А они готовы за это заплатить?
...много не заработаешь, благодарность пользователей - польза для души...
VitalyAF вне форума  
 
Непрочитано 08.08.2019, 08:54
#116
allar8


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


Цитата:
Сообщение от trir Посмотреть сообщение
А они готовы за это заплатить?
Я готов, но сами понимаете чисто символически) - сам на этом все равно не заработаю - все ради интереса.
И потом вопросы задавал с целью - стоит ли начинать осваивать VB.NET, т.к. нахожусь щаз на этапе начала освоения всего этого.
Мечусь между лиспом, С++ и vba.net. Но как говорится побежишь за двумя (в данном случае тремя)) зайцами ни одного не догонишь.
вот и спросил - мож на VB.NET сконцентрироваться ща. Потому что в данный момент тема с автонумерацией листов
подшивок мне наиболее интересна.
Я имею ввиду на базе того что у вас сделано - реально допилить для акадов 2017 и 2020 и префиксы добавить?
Ответы на эти вопросы возможно могли бы стать для меня отправной точкой сконцентрироваться ща на vba.net.
Сконцентрироваться - на данном этапе я имею ввиду научиться хотя бы готовый код использовать и компилировать если нужно.))). Пока только так)
allar8 вне форума  
 
Непрочитано 08.08.2019, 09:14
#117
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от allar8 Посмотреть сообщение
Мечусь между лиспом, С++ и vba.net.
Ставь на python не ошибёшься... )
VitalyAF вне форума  
 
Непрочитано 08.08.2019, 09:16
#118
allar8


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Ставь на python не ошибёшься... )
))) Слышал о нем. Но в моем случае пока рано на что то ставить)
allar8 вне форума  
 
Непрочитано 08.08.2019, 10:04
#119
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


лучше C#
задачу можно решить одной функцией

Цитата:
...много не заработаешь, благодарность пользователей - польза для души...
дело в мотивации, я для себя уже всё сделал и мне не интересно к этому возращатся.
У меня есть библиотека получше той, что лежит у меня на github'е - но так её выкладывть, стрёмно, нужно доделать, а мотивации на это нет...
trir вне форума  
 
Непрочитано 08.08.2019, 10:35
#120
allar8


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


Цитата:
Сообщение от trir Посмотреть сообщение
но так её выкладывть, стрёмно, нужно доделать, а мотивации на это нет...
Понимаю.
Но наверно вы и сами понимаете. Массово мало кто интересуется этой темой, т.к. большинство подшивками и не пользуются вовсе, чем и объясняется отсутствие развития со стороны Автодеска
Символическая благодарность одного человека в лице например меня, Вас все равно наверно не замотивирует)
Видимо о Вашем таланте знать будете только вы к сожалению, ну не спорю мож с кем и делились - они думаю Вам тоже благодарны.
Тут на этом деле вряд ли заработаешь - чисто энтузиазм и огромный интерес ко всему этому.
Вон разработчику реверса например как то удалось вроде поставить на поток свою программу и даже чего то наверно ему перепадает.
Но вознаграждение он берет со своей программы тож чисто символическое.
Так как даже в такой простой нужной и полезной программе как Реверс например, на мой взгляд, очень трудно разобраться рядовому пользователю, который не интересуется этим. А таких большинство.
Я убедился в этом когда пытался внедрить эту программу в своей конторе. Уж и настроил вроде все шаблоны - только бери да пользуйся. Один хрен никто не хочет хоть чуть чуть разобраться и понять - потому что у большинства нет интереса как автоматизированно печатать - интерес у большинства к деньгам)
Задачами мы тут интересуемся очень узконаправленными.

Последний раз редактировалось allar8, 08.08.2019 в 10:56.
allar8 вне форума  
 
Непрочитано 08.08.2019, 10:40
1 | #121
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


если я ту либу выложу - без знания C# она всё равно не поможет, так что учи C#
trir вне форума  
 
Непрочитано 08.08.2019, 10:44
#122
allar8


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


Цитата:
Сообщение от trir Посмотреть сообщение
если я ту либу выложу - без знания C# она всё равно не поможет, так что учи C#
Понял - сконцентрируюсь на нем, спасибо!
allar8 вне форума  
 
Непрочитано 08.08.2019, 10:50
#123
KEHT


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


Allar8, если нужна автонумерация я нашел для себя скрипт Андрея Бушмана. http://bushman-andrey.blogspot.com/2...g-post_13.html. Может пригодиться. Пришлось правда разбираться как скомпилировать под другие версии автокада. А вот помоему под 16 версию не удалось, не было там библиотечной функции в файле ACSMCOMPONENTS20Lib.
KEHT вне форума  
 
Непрочитано 08.08.2019, 10:58
#124
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от allar8 Посмотреть сообщение
...потому что у большинства нет интереса как автоматизированно печатать...
Мало того, все шишки свалятся на того, кто везёт, он будет всегда виноват по любому поводу...
Избежать этого можно только переложив ношу на кого-то, например привёз идею с курсов обучения и идея не только твоя...
Но в целом, как ни крути, новатор - это судьба

Последний раз редактировалось VitalyAF, 08.08.2019 в 11:10.
VitalyAF вне форума  
 
Непрочитано 08.08.2019, 11:08
#125
KEHT


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Мало того, все шишки свалятся на того, кто хочет сделать лучше, он будет всегда виноват по любому случаю...
Избежать этого можно только переложив ношу на кого-то, например привёз идею с курсов обучения, что мало вероятно...
Так а если эти улучшения приживутся и всем по душе будут, то кроме похлопывания по плечу от начальства это никак не оценено будет. Это воспримется как должное и само собой разумеющееся.
KEHT вне форума  
 
Непрочитано 08.08.2019, 11:10
#126
allar8


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Мало того, все шишки свалятся на того, кто хочет сделать лучше, он будет всегда виноват по любому случаю...
Избежать этого можно только переложив ношу на кого-то, что мало вероятно...
Ну это не мой случай).
Ко мне люди наоборот относятся как "справочнику" по Автокад (Есно справочник только в ковычках и только для круга моих коллег)), т.к. самим неохота разбираться - лучше спросить же у рядом сидящего коллеги и сразу получить ответ на интересующий вопрос. Но мне нисколько не обидно.
С удовольствием все расскажу и покажу, т.к. самому важно, чтоб люди стали принимать и понимать мои идеи. Вместе же работаем. Если внедряешь тему надо и других приучить). А то толку не будет.

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от KEHT Посмотреть сообщение
Так а если эти улучшения приживутся и всем по душе будут, то кроме похлопывания по плечу от начальства это никак не оценено будет. Это воспримется как должное и само собой разумеющееся.
Лично мое мнение. Цель основная не выделиться или выслужиться - цель интерес не для кого то - для себя.
Я не рассчитываю ни на похвалу со стороны начальства и ни на что то подобное. Для меня похвала - чтоб идеи мои например осуществились))). Как то так

Последний раз редактировалось allar8, 08.08.2019 в 11:16.
allar8 вне форума  
 
Непрочитано 08.08.2019, 11:25
| 2 #127
KEHT


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Лично мое мнение. Цель основная не выделиться или выслужиться - цель интерес не для кого то - для себя.
Я не рассчитываю ни на похвалу и ни на что то подобное. Для меня похвала - чтоб идеи мои например осуществились))). Как то так
Цель не выслужиться, а не выслушивать потом от начальника, что ничего не сделал, только "херней какой то" занимался. Почему объект не сдан? Почему сроки пробиты? А то что, мои "занятия херней" упростят жизнь всему коллективу и ускорит процесс проектирования в долгосрочной перспективе, ему мягко говоря плевать.
KEHT вне форума  
 
Непрочитано 08.08.2019, 11:27
| 1 #128
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от KEHT Посмотреть сообщение
...ему мягко говоря плевать.
...или само собой разумеющееся.
VitalyAF вне форума  
 
Непрочитано 08.08.2019, 11:35
#129
KEHT


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
...или само собой разумеющееся.


а по теме есть вопрос. как через лисп добраться к менеджеру подшивке? где то писали в теме что можно и очень просто, но без особой конкретики. Хотелось бы по подробнее, на сколько все таки просто...
KEHT вне форума  
 
Непрочитано 08.08.2019, 11:40
#130
allar8


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
Цель не выслужиться, а не выслушивать потом от начальника, что ничего не сделал, только "херней какой то" занимался. Почему объект не сдан? Почему сроки пробиты? А то что, мои "занятия херней" упростят жизнь всему коллективу и ускорит процесс проектирования в долгосрочной перспективе, ему мягко говоря плевать.
Согласен. Не спорю. Речь не об этом. Нужно уметь совмещать. Не спорю часто приходится на идеи тратить свое личное время - не рабочее.
Есно начальнику плевать на все методы - главное сроки и об этом не нужно забывать. Я и не говорил, что в ущерб производительности все это. Если тебе интересно чем то заниматься - это не должно сказываться на ухудшении сроков по этой причине ясен пень. Но мы тут ваще уже от темы темы чет уходим)))

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от KEHT Посмотреть сообщение
а по теме есть вопрос. как через лисп добраться к менеджеру подшивке? где то писали в теме что можно и очень просто, но без особой конкретики. Хотелось бы по подробнее, на сколько все таки просто...
Если просто редактировать (но это не про автонумерацию) а в общем) то можно вот тут написано https://forum.dwg.ru/showthread.php?t=104296
Суть проста преобразовываем в хмл правим потом обратно (решение через лисп - есть добрые люди на свете. Спасибище VitalyAF #80 ))

Последний раз редактировалось allar8, 08.08.2019 в 13:10.
allar8 вне форума  
 
Непрочитано 08.08.2019, 16:00
#131
KEHT


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Если просто редактировать (но это не про автонумерацию) а в общем) то можно вот тут написано https://forum.dwg.ru/showthread.php?t=104296
Суть проста преобразовываем в хмл правим потом обратно (решение через лисп - есть добрые люди на свете. Спасибище VitalyAF #80 ))
А через лисп нельзя сразу правку реализовать? Да ту же перенумерацию, выбрать из xml номера листов перенумеровал перезаписал xml, а потом xml->dst. Вопрос можно ли перезаписывать открытую в данный момент подшивку, т.е. менять в открытой подшивке данные?
KEHT вне форума  
 
Непрочитано 08.08.2019, 16:24
#132
allar8


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
А через лисп нельзя сразу правку реализовать? Да ту же перенумерацию, выбрать из xml номера листов перенумеровал перезаписал xml, а потом xml->dst. Вопрос можно ли перезаписывать открытую в данный момент подшивку, т.е. менять в открытой подшивке данные?
Дык если не автоматизировано перенумеровывать, зачем такие манипуляции. Руками из родного диспетчера перенумеровывай и усе.
ну а лиспа для автоперенумерации тута еще пока не видел.
А ваще готовое решение за 95$))) в той же теме https://forum.dwg.ru/showthread.php?t=104296 #19 SSMEditor.
Только кто ж такие деньжищи то заплатит за такую узконаправленную задачу). Можно и руками если нечасто приходится перенумеровывать.
А если часто и много и уровень заработка от этого зависит - мож и есть смысл задуматься.)
Но 30 дней мона побаловаться и биплатно.
Мне лично автонумерация понадобилась бы чисто для интереса - уровень зароботка у меня от этого не изменится).
Но энтузиастов готов был бы чисто символически отблагодарить за подобный лисп, если бы он был.
Сам тока вот пытаюсь осваивать.

Последний раз редактировалось allar8, 08.08.2019 в 16:36.
allar8 вне форума  
 
Непрочитано 08.08.2019, 16:51
#133
KEHT


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


Так я и говорю про автоматизацию. У уважаемого крыса была библиотека по работе с xml через неё к примеру получить список с номерами перенумеровать и закинуть обратно. Просто а иначе я не понимаю как можно руками править xml? Это же ппц как не удобно.
KEHT вне форума  
 
Непрочитано 08.08.2019, 16:56
#134
allar8


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
Так я и говорю про автоматизацию. У уважаемого крыса была библиотека по работе с xml через неё к примеру получить список с номерами перенумеровать и закинуть обратно. Просто а иначе я не понимаю как можно руками править xml? Это же ппц как не удобно.
Ну я задумывался об экспорте в эксель как то, но только задумывался. Что то подобное давно делал с dsd для автоматизации печати, когда еще с реверсом не был знаком.
А так ваще хмл конечно же ща не использую для перенумерации - интересно чисто изменение путей и объединение подшивок.

Последний раз редактировалось allar8, 08.08.2019 в 20:03.
allar8 вне форума  
 
Непрочитано 08.08.2019, 16:58
1 | #135
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
Просто а иначе я не понимаю как можно руками править xml? Это же ппц как не удобно.
очень даже удобно

Цитата:
Ну я задумывался об экспорте в эксель как нить
Excel прекрасно открывает XML
trir вне форума  
 
Непрочитано 08.08.2019, 17:00
#136
allar8


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
была библиотека по работе с xml через неё к примеру получить список с номерами перенумеровать и закинуть обратно
Мне бы тож было кстати - не знал пока про такое
allar8 вне форума  
 
Непрочитано 08.08.2019, 17:02
#137
KEHT


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
объединение подшивок?
Это как? Подшивку подвязать к подшивке? Блин это надо походу видеть.
KEHT вне форума  
 
Непрочитано 08.08.2019, 17:19
1 | #138
KEHT


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


я не нашел ссылку на форум. Да не обидится Кулик Алексей aka kpblc выложу архив.
Вложения
Тип файла: zip xml.zip (17.9 Кб, 50 просмотров)
KEHT вне форума  
 
Непрочитано 08.08.2019, 17:32
#139
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Offtop:
Цитата:
Сообщение от allar8 Посмотреть сообщение
Ко мне люди наоборот относятся как "справочнику" по Автокад
со временем поймете - что на вас просто "едут" коллеги) Потому что 90% вопросов легко ищется в инете - но зачем, когда можно коллегу напрячь и чувствовать себя самыми "хитрожопыми" при этом...


Цитата:
Сообщение от KEHT Посмотреть сообщение
а по теме есть вопрос. как через лисп добраться к менеджеру подшивке?
лисп - это значит изнутри акада. А изнутри акада есть официальный API от Аутодеска, только на лиспе к нему не подобраться.
Сергей812 вне форума  
 
Непрочитано 08.08.2019, 19:53
#140
allar8


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
Блин это надо походу видеть.
Вот тут недавно обсуждали https://forum.dwg.ru/showthread.php?t=123214

----- добавлено через ~8 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
со временем поймете - что на вас просто "едут" коллеги) Потому что 90% вопросов легко ищется в инете - но зачем, когда можно коллегу напрячь и чувствовать себя самыми "хитрожопыми" при этом...
Offtop: Говорю же - не обижаюсь, а если некогда - так и говорю - "попозжее вернемся к вопросу")

----- добавлено через ~15 мин. -----
Цитата:
Сообщение от trir Посмотреть сообщение
Excel прекрасно открывает XML
Прикольно! Думал но сам не пробовал. Второй раз меня убеждаете в том в чем я сомневаюсь). Спасибо!
allar8 вне форума  
 
Непрочитано 08.08.2019, 21:47
#141
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от allar8 Посмотреть сообщение
Что то подобное давно делал с dsd для автоматизации печати, когда еще с реверсом не был знаком.
Туда - сюда кидать XML это ещё то извращение.
Если бы работа с подшивками была востребована, то прог уже было бы завались, а сейчас используют на чистом энтузиазме избранные.
Думаю легче создать опрос кому - это надо, увидеть реальную потребность и найти исполнителя (кто на этот гемор пойдёт)
maratovich вне форума  
 
Непрочитано 08.08.2019, 21:50
#142
allar8


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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Думаю легче создать опрос кому - это надо, увидеть реальную потребность и найти исполнителя (кто на этот гемор пойдёт)
Зачем опрос, это и так все понимают. Но некоторым интересно. Вот под себя и вояют, кто умеет)
А про реальную потребность - фиг знат, просто комфорт лично для меня был бы.
А почему бы и нет. Ведь судя по выложенным тут наработкам усе уже даже сделано - заново ничего создавать с нуля не надо - осталось молое ж - чуть чуть допильнуть), как я понимаю

----- добавлено через ~11 мин. -----
Цитата:
Сообщение от maratovich Посмотреть сообщение
Туда - сюда кидать XML это ещё то извращение.
Это да), не спорю - если говорить об автонумерации через эксель).
С экселем то конечно дружу, но как представлю тока путь dst>xml>xlsx>xml>dst мысли о комфорте пропадают)))

Последний раз редактировалось allar8, 08.08.2019 в 22:24.
allar8 вне форума  
 
Непрочитано 09.08.2019, 13:38
#143
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Цитата:
Сообщение от allar8 Посмотреть сообщение
автонумерации через эксель
Месье знает толк... или это я немного не уловил мысль последних постов этой долгоиграющей темы. Нормально работающая прога на VBA для автонумерации листов в подшивке висит в одном из первых сообщений. Чем не подходит?
kp+ вне форума  
 
Непрочитано 09.08.2019, 15:17
#144
allar8


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Месье знает толк... или это я немного не уловил мысль последних постов этой долгоиграющей темы. Нормально работающая прога на VBA для автонумерации листов в подшивке висит в одном из первых сообщений. Чем не подходит?
Не работала в новых версиях акад. А что - обновили?
И с префиксами не было там)
Всегда сам стремился к целочисленной нумерации листов, но в новой конторе правила оформления вынуждают использовать номера с точкой(

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
Месье знает толк...
Ну это в жизнь не пойдет) - говорил уже об этом - нет комфорта)

Последний раз редактировалось allar8, 09.08.2019 в 15:28.
allar8 вне форума  
 
Непрочитано 15.08.2019, 22:37
2 | #145
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


https://github.com/triroakenshield/AcSmSheetSetMgr
trir вне форума  
 
Непрочитано 16.08.2019, 20:41
#146
allar8


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


Цитата:
Сообщение от trir Посмотреть сообщение
https://github.com/triroakenshield/AcSmSheetSetMgr
Видно что человек поработал, можно сказать душу вложил, но жаль пока без знаний оценить это сложно(
allar8 вне форума  
 
Непрочитано 09.09.2020, 15:03
#147
Shturman121


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


что нужно сделать что бы автонумератор заработал в автокаде 2021? Был установлен автокад 2016 все работало нормально. Решил установить новую версию и тут на тебе, не работает такая классная штука. Выдает такую ошибку в коде
Миниатюры
Нажмите на изображение для увеличения
Название: для форума.JPG
Просмотров: 118
Размер:	116.2 Кб
ID:	229970  
Shturman121 вне форума  
 
Непрочитано 09.09.2020, 15:14
#148
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


ссылки проверь
trir вне форума  
 
Непрочитано 09.09.2020, 15:18
#149
Shturman121


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


Цитата:
Сообщение от trir Посмотреть сообщение
ссылки проверь
какие ссылки имеете ввиду? Помогите пожалуйста, очень нужная функция эта нумерация

----- добавлено через 57 сек. -----
Я в программировании ноль. Могу только готовые программки использовать
Shturman121 вне форума  
 
Непрочитано 09.09.2020, 15:31
#150
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107



там должна быть ссылка на AcSmComponents Type Library

Последний раз редактировалось trir, 09.09.2020 в 15:37.
trir вне форума  
 
Непрочитано 09.09.2020, 15:38
#151
Shturman121


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


у меня сейчас это окно имеет такой вид. Что с ним не так?
Миниатюры
Нажмите на изображение для увеличения
Название: для форума_1.jpg
Просмотров: 90
Размер:	145.8 Кб
ID:	229972  
Shturman121 вне форума  
 
Непрочитано 09.09.2020, 15:44
#152
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


посмотри какая версия AcSmComponents лежит в Autodesk Shared
trir вне форума  
 
Непрочитано 09.09.2020, 15:44
#153
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


там может лежать две и более версии?
Сергей812 вне форума  
 
Непрочитано 09.09.2020, 15:46
#154
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


да, каждая для своего AutoCAD'а
trir вне форума  
 
Непрочитано 09.09.2020, 15:53
#155
Shturman121


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


вот что у меня лежит в Autodesk Shared
Миниатюры
Нажмите на изображение для увеличения
Название: для форума_2.JPG
Просмотров: 115
Размер:	164.3 Кб
ID:	229973  
Shturman121 вне форума  
 
Непрочитано 09.09.2020, 15:56
1 | #156
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


значит ссылка должна быть на AcSmComponents24
trir вне форума  
 
Непрочитано 09.09.2020, 16:06
#157
Shturman121


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


Спасибо тебе добрый человек. Всё заработало
Shturman121 вне форума  
 
Непрочитано 14.10.2021, 12:41
#158
Publipor


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


Здравствуйте. Не подскажете как запустить скрипт на AutoCad 2022, выдает вот такую ошибку https://ibb.co/0XkqRjV
Publipor вне форума  
 
Непрочитано 14.10.2021, 14:48
#159
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


читайте выше по ветке
Сергей812 вне форума  
 
Непрочитано 05.08.2023, 15:23
#160
Serafym


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


подскажите в какое именно место исходного кода нужно вставить код из поста 14
Serafym вне форума  
 
Непрочитано 04.05.2025, 11:29
#161
alex2214


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


Добрый день!
Автокад 2026, виндовс 11, AcSmComponents ошибка с указанием на AcSmComponents25.tlb исчезла но дальше не идет появляется см. скрин.
Может кто то запускал на 2026 нумерацию подшивки?
Миниатюры
Нажмите на изображение для увеличения
Название: ошибка.png
Просмотров: 19
Размер:	129.9 Кб
ID:	267968  

Последний раз редактировалось alex2214, 04.05.2025 в 11:44.
alex2214 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Нумерация листов из "менеджера подшивок"