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

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

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

REFEDIT

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

Нельзя.
Если линия подчеркивающая текст, то может шрифт с underline?

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

Мдя.... вот они предельно точные определения

есть линия определенной длинны

Ни о какой зависимости от текста (атрибута) и подчеркивании нет речи.
А почему нельзя REFEDIT? До сих пор не было с ним особых проблем.

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

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

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

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

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

А нельзя ли как нибудь обойти это, сделать так, что бы имя блока было одно, а длинна линий регулировалась? Ну например, по умолчанию блок имеет одну ручку вставки, нельзя ли сделать так, что бы у блока были другие ручки: ручки линии, которые можно было бы растянуть?

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

Неа... Но можно смасштабировать сам блок. Хоть при вставке, хоть после. Притом по каждой оси отдельно. Может это поможет решить задачу?

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

Нет я думаю, что не получится, потомучто масштабирование изменит не только длинну линии но и текста.

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

Тогда либо для каждой длины линии создать свой блок (со своим именем), либо вовсе отказаться от использования блоков... EXPLODE, как я понимаю, тоже не годится....

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

serezha_pu> вместо блоков можно использовать Группу, в которую могут входить как разрозненные элементы, так и блоки. В блоках объединяются неизменяемые об-екты, а группа соберет к ним впридачу то, что надо менять

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

> serezha_pu
Чем вариант > Jura (2004-05-13 16:40:30) не подходит?
Просто перед текстом добавь %%U.

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

Я прошу прощения, но с %%U. я не понял. А насчет группы идея хорошая, линия может менять свою длинну, but блок (состоит из одного атрибута), который я ввел в группу не может меняться, т.е. нельзя изменить текст атрибута, а взрывать не очень удобно. Вот так.

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

> serezha_pu
Объясни народу, зачем тебе линия в блоке. Текст подчеркивать или для чего другого... А то в самом деле, если для подчеркивания, так блок нафиг не нужен.

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

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

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

Для таких целейй  Autocad Map  самое то.

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

Для этого нужно написать LISP-функцию, которая бы для указанного блока (после его масштабирования) восстанавливала для каждого текстового атрибута блока его первоначальные параметры стиля, например: Height = 2.5, Width factor = 1, Obliquing = 15. Мне тоже очень нужно, но я не умею. Заранее спасибо.

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

Мдя... для голого АКАДа не простая задача. Если не переходить на специализированный софт, то скорее всего придется писать программулину, чтоб записывать и хранить скрытую информацию например в расширенных данных примитива, а видимую просто дублировать как текст возле примитива. Блоки в этом случае наверняка не пригодятся.
Хотя, может быть, стоит сначала подробнее рассмотреть использование групп вместо блоков, только с видимостью возникнет небольшая заминка (а впрочем, как сделать примитив невидимым/видимым уже обсуждалось).

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

Да действительно идея работает и в принципе прогу написать можно, но масштабирование это очень неточно, а что бы было точно нужно подбирать масштабируемый коэффициент.
Только, что мне подсказали одну простую идею, а смысл идеи в следующем: можно создать блок с атрибутами трубопровода и мальнький участок трубы, а остальное просто дорисовывать с тем же слоем, по моему это просто и удобно. Как вам?

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

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

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

> serezha_pu
Хехе... так тогда даже и маленький участок трубы в блоке не нужен... Блок состоит только из одних атрибутов.. Линия сама по себе, блок сам по себе... И усе :))

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

Ну вообщем да :) Все гениальное - просто.

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

> serezha_pu
а зачем все это нужно?

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

В принципе есть прога (2шт) одна раскладывает блок, после чего мона редактировать, другая собирает и присваивает другое (или тоже ) имя по запросу. Но из одной линии все это делать?!!!! Может VK прав!?
адрес http://cadhlp.kulichki.com/block.zip

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

Одна линия - это частный случай. У меня больше десятка блоков - квадраты и прямоугольники различных размеров с заливкой и текстовые атрибуты (1 или 2) - которые я испоьзую в качестве выносок, которые маскируют собой какую-либо незначащую подоснову. Если бы кто научил восстанавливать  для указанного блока (после его масштабирования) для каждого текстового атрибута блока его первоначальные параметры стиля, например: Height = 2.5, Width factor = 1, Obliquing = 15 - мне было бы достаточно ОДНОГО блока и я был бы почти счастлив smile