Re: Как изменить длину линии в блоке без переопределения блока?

> serezha_pu
IMHO: вариант с блоком не удобен для юзверя, редактировать только с клавы, за ручки не потаскать(у блока только одна), соответственно второй конец прямой, не пристегнуть к началу произвольной линии(особенно пож углом. Повторяю IMHO!
Осмелюсь обобщить корифеев VK & Геннадий aka PG  :
1. Если задача того стоит, то наладить ACAD reactors, т.е. рисуете обычную линию, в ней рекактор на entity текст ("... и хранить скрытую информацию, например в расширенных данных примитива ... " - VK). Соответственно после рисования линии и текста, если меняете длину линии - пересчиываете текст (можно с вызовом меню).
2. Если нет, то  VK (2004-05-14 14:01:19), и собственную Лисб-программу, которая пересчитывает текст при изменении линии, но эта программа вызывается вручную юзверем, соответственно, юз забыл, текст не поменялся ...
3. Крайний случай: Блок единичной длины, масштабируете, вызываете программу, которая меняет высоту текста атрибута(кажись 40-ая группа) у вставленного блока, и при редактировании уже вставленного блока, вызываете такую же программу, вручную(много засад).
4. Vitalij (но он очень коротко высказался..., зато ёмко wink
>>Любознательный
Только Лисб. Вы хотите сами, или сразу код? (второе не ко мне)
Если первое, то попробуйте запостить сюда же, на https://www.caduser.ru/forum/forum23.html
(Так как, IMHO, Ваш вопрос не в эту тему, и не такой сложный...)

Re: Как изменить длину линии в блоке без переопределения блока?

> Любознательный
и с некоторым опозданием

> serezha_pu
Попробуйте командой _.eattedit (или двойной клик по атрибуту) подредактировать нужные параметры каждого атрибута в блоке (вторая вкладка окна Enhanced Attribute Editor в АКАД2002 и выше).

Re: Как изменить длину линии в блоке без переопределения блока?

А может всетаки разные имена блоков не препятствите
если использовать для них единый перфикс с порядковыми
номерами. Но для всавки нужен лисп хотя бы который уже
упоминался. Если вас смущает извлечение информации
то кажется это не так уж и сложно.

Re: Как изменить длину линии в блоке без переопределения блока?

Может быть, использовать анонимные блоки (с атрибутами)? Извлекать атрибуты можно? Редактировать с _REFEDIT можно?

Re: Как изменить длину линии в блоке без переопределения блока?

> VH
вроде бы анонимные блоки REFEDIT не редактируются...

Re: Как изменить длину линии в блоке без переопределения блока?

А может создать группу из блока обозначающего трубопровод и блока содержащего только атрибуты? Вроде и вместе все и длинну линии можно менять как угодно.

Re: Как изменить длину линии в блоке без переопределения блока?

Fantomas:
а попробуй изменить значения атрибута в блоке, который принадлежит группе :)
Спрашивали зачем. Вообще я описывал выше, но... Все это делается для создания таких вещей как linelist, valvelist, получения списка контольно-измерительного оборудования (если кто знает что это такое) вообщем что-то типа автоматизированной системы проектирования. Вы можете сказать, что существует куча программ и я соглашусь, но дело в том, что эти проги или дорого стоят или их внедрение а процесс проектирования очень затруднителен, поэтому я решил написать собственную маленькую прогу, котрая бы вставляла в проект блоки аппаратов и измерительной аппаратуры, а потом в Excel извлекала инфу которую заносит пользователь в эти блоки (блоки это рисунок и куча атрибутов). Вот и все.
Народ, тут очень много написали, но из всего этого я хотел бы поинтересоваться, что это за программа Map?

Re: Как изменить длину линии в блоке без переопределения блока?

Посмотри я сделал тебе картинки http://autokad.ru/forum/viewtopic.php?p=9444#9444. Первой штуковиной я пользуюсь для создания смет и спецификаций прямо в чертеже используя расширенные данные вносимые в блоки, на следующей неделе кину в Download в составе набора инструментов CabTools.
Вторая в начальной стадии разработки. Она подразумевает создание библиотек блоков, внесение расширенных данных в формате свободно определяемом в настройках, а также создание в чертеже записей не привязанных к блокам (в словарях). Все это должно считываться в табличном виде и экспортироваться в Excel. Думаю придеться подождать какой месяцок, потом тоже будет свободно доступно.

Re: Как изменить длину линии в блоке без переопределения блока?

> Fantomas
Вопросик у меня по сайту autokad.ru - это я такой счастливый или у всех он так гадко открывается - посидишь минут 10 и показывает он чего-нибудь типа : "The page cannot be displayed"?

Re: Как изменить длину линии в блоке без переопределения блока?

Да нет, только что тыкнул свою же ссылку все открылось. Попробуй еще разок.

Re: Как изменить длину линии в блоке без переопределения блока?

> Fantomas
наверное на ваерволе фильт, дома попробую, спасибо

Re: Как изменить длину линии в блоке без переопределения блока?

Fantomas:
У меня что-то вроде того что у тебя на первой картинке, только совершенно другая визуализация. Я так понимаю ты это сделал с помощью ARX? А вот второй картинкой я заинтересовался, я сейчас думаю сделать программку, которая бы помагала пользоваиелям создать блоки и потом записывала бы эти блоки в библиотеку, которую я сделал для нынешнего варианта программы и еще необходимо что бы изменялся программный

Re: Как изменить длину линии в блоке без переопределения блока?

код моей первой проги.

Re: Как изменить длину линии в блоке без переопределения блока?

Это не Arx. Вернее Arx там присутствует в виде файла ObjectDCL. Это технология позволяющая быстро делать диалоговые окна для AutoCAD. Там расширен диапазон элементов, все можно расставлять как угодно и вообще программирование объектно ориентированное со свойствами, методами и событиями для всех элементов интерфейса. Это "чудо" само пишет лисповские строчки для всех элементов интерфейса, надо только выбрать нужное свойство или метод, скопировать в ЛИСП файл и дописать что нужно.

Re: Как изменить длину линии в блоке без переопределения блока?

т.е это написано на LISP? Только с использованием DCL. Мне на Lisp не очень понравилось программировать, конечно может я просто до конца в нем не разобрался, но я предпочитаю VB.

Re: Как изменить длину линии в блоке без переопределения блока?

Да на AutoLISP+ObjectDCL.

Re: Как изменить длину линии в блоке без переопределения блока?

А с этого места поподробней пожалуйста.
З.Ы. Слышал кое что о программе которая рисует
DCL как в васике - не она ли это?
Может ссылочку оставите ...

Re: Как изменить длину линии в блоке без переопределения блока?

Да она, рисует как на VB. Доступна на www.objectdcl.com . Версия Standard (как у меня) стоит 80$. Pro где то в районе 200$, в ней есть дополнительные контролы, можно создавать собственные ActiveX контролы и делать Docable диалоги. Standard тоже имеет по сравнению с обычным DCL преймущества, к примеру то что вы видите в виде таблицы называеться  ListView, можно также создавать Modeless диалоги, т. е. такие при высвечивании которых можно работать на экране. Демка глючная, но платная версия вроде нормально работает. Можно глянуть несколько примеров прог с применением этой технологии тут http://autokad.ru/dwl/

Re: Как изменить длину линии в блоке без переопределения блока?

Прошу прощения за свою неграмотность, но сильно ли отличается ObjectDCL от использования форм в VB? или это вообще разные вещи. Если нет, тогда зачем платить 800-200$ за продукт, который заменяется бесплатным продуктом?

Re: Как изменить длину линии в блоке без переопределения блока?

80$ - не 800$. Во первых дает возможность работать с AutoLISP, который "роднее" AutoCAD, позволяет делать вещи недоступные VBA (VB), и имеющий в подавляющем количестве случаев на порядок более короткий код. Если речь идет именно о VB а не VBA то там, как и на Delfi и Arx возможности конечно шире и можно создать любые формы, но в исполнениии это достаточно сложно.
Основное преймущество- короткий, простой в отладке LISP код и нормальная гибкая визуализация. Можно написать за день то что могло занять неделю.
Есть вещи нереализованные в стандартных формах VBA, именно АКАДовские вещи, к примеру BlockView- вид именно блока а не чертежа и не слайда и др.

Re: Как изменить длину линии в блоке без переопределения блока?

Спасибо за разъяснения. А с 800 я опечатался. А интересно можно ли с помощью VB cделать что то вроде blockview? Меня этот вопрос очень интересует.

Re: Как изменить длину линии в блоке без переопределения блока?

Про это сказать немогу. А вы что действительно на VB а не на VBA для AutoCAD пишите?
Вообще тема явно ушла от первоначальной. Если продолжать, то надо пребиратся в другой раздел. Dens-i драться начнет...

Re: Как изменить длину линии в блоке без переопределения блока?

> Fantomas
А как в Лиспе это выгядет? (элементы управления и пр.)
Невстроенные функции подгружаемые из ARX приложания?
И какой интерфейс?

Re: Как изменить длину линии в блоке без переопределения блока?

Вот картинка http://autokad.ru/forum/viewtopic.php?t … 8daecba93a
Да подгружается Arx. Строчки ЛИСПовские он сам пишет, с нужными переменными, жмешь кнопку и копируешь в ЛИСП файл.

Re: Как изменить длину линии в блоке без переопределения блока?

> Fantomas
Но вроде ARX для каждой версии ACADA нужен свой?
А на компах где нет этого приложения как все работает?