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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Примечание к блоку - его масштаб

Примечание к блоку - его масштаб

Ответ
Поиск в этой теме
Непрочитано 30.11.2006, 14:10 #1
Примечание к блоку - его масштаб
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,917

Всем доброго времени суток!!! :wink:
Вобщем появилась проблема, :roll:
Есть блок, нужно вставить в блок поле в котором бы отражалось с каким масштабом отображен блок желательно по осям, можно ли решить стандартными средствами Acada. :?:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:

Последний раз редактировалось zenon, 16.10.2019 в 09:11.
Просмотров: 7361
 
Непрочитано 30.11.2006, 14:16
#2
Кулик Алексей aka kpblc
Moderator

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


Можно вставить именно поле; можно сделать атрибут в блоке и вбивать туда данные... Вариантов есть
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.11.2006, 15:14
#3
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Цитата:
Сообщение от kpblc
Можно вставить именно поле; можно сделать атрибут в блоке и вбивать туда данные... Вариантов есть
А чтоб не вбивать, чтоб само. Вбивать самому у меня уже стоит.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 30.11.2006, 15:36
#4
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
А чтоб не вбивать, чтоб само. Вбивать самому у меня уже стоит.
Все делается очень просто.
1.Вставил прогой блок
2.Вызвал прогой его на редактирование атрибутов/а
3.Изменил прогой значение
Всё
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 30.11.2006, 15:38
#5
Кулик Алексей aka kpblc
Moderator

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


Не-а, не все так просто. У блока могут быть разные масштабы по разным осям; блок может быть вставлен не в текущей системе координат; не определена заранее высота текста. И наконец: делаем поля или отдельный блок с текстовыми атрибутами?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.11.2006, 15:49
#6
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Так :? ладно, уточняю, что мне надо :!:
Есть блок углового штампа, под ним вне зоны печати выводится информация в каком он масштабе, что пока приходиться вбивать самому через атрибут, но хотелось что само изменялось при изменении масштаба блока, вооооот :idea:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 30.11.2006, 16:25
#7
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,202
<phrase 1=


берете блок (штампа например), добавляете в него атрибут. Затем сотворяете поле, со ссылкой на этот блок, а конкретно на его масштаб, напрмер по Х. Копируете эту белиберду значения поля типа
Код:
[Выделить все]
%<\AcObjProp Object(%<\_ObjId 2117399688>%).XEffectiveScaleFactor \f "%lu2">%
через _.eattedit в значение атрибута, и при изменении масштаба этой вставки блока имеете надпись в ее атрибуте о ее масштабе.

ворос в другом, можно ли изначально сослаться в атрибуте на вставку которой он принадлежит. Я не знаю.

PS. Возможно сделать на лиспе функцию для вставки блока, которая одновременно со вставкой изменит значение его атрибута.
__________________
apel.fas
Apelsinov вне форума  
 
Автор темы   Непрочитано 30.11.2006, 16:32
#8
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


О :!:
вот оно,
уже лучше, теперь бы еще чтоб писал 1:хх, ну это я сам как нить распишу
большое спасиба
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 18.01.2007, 13:38
#9
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


И снова возвращаюсь к данной проблеме
Предыдущее решение не пошло в силу того, что обрабатывает только тот блок, на который указана ссылка.
А надо на свой собственный.
Может другое есть решение.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 18.01.2007, 17:16
#10
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Такое возможно в версии >=2006. Поле при этом выглядит как-то так:
Код:
[Выделить все]
%<\AcObjProp.16.2 Object(?BlockRefId,1).XEffectiveScaleFactor>%
AY вне форума  
 
Автор темы   Непрочитано 19.01.2007, 10:01
#11
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Цитата:
Сообщение от AY
Такое возможно в версии >=2006. Поле при этом выглядит как-то так:
Код:
[Выделить все]
%<\AcObjProp.16.2 Object(?BlockRefId,1).XEffectiveScaleFactor>%
Появляется только вот это
XEffectiveScaleFactor
:roll:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 25.10.2007, 11:05
#12
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Если кого заинтересует, то я нашел решение данной проблемы.
Оказалось достаточно начертить линию с длиной в 1 еденицу чертежа и дать ссылку в "поле" на его длину. Собсно и получаем масштаб блока.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 29.10.2007, 15:17
#13
wetr

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


все гениальное просто! Спасибо, zenon!
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 27.08.2010, 12:28
#14
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


Цитата:
Сообщение от wetr Посмотреть сообщение
Если кого заинтересует, то я нашел решение данной проблемы.
Оказалось достаточно начертить линию с длиной в 1 еденицу чертежа и дать ссылку в "поле" на его длину. Собсно и получаем масштаб блока
блин... попытался так сделать... если блок динамический... стоит дернуть какую нибудь ручку и значение масштаба становится неверным... пытался и через линию... и на высоту текста ссылался... одна ерунда получается... есть еще варианты?
v_alex вне форума  
 
Автор темы   Непрочитано 27.08.2010, 12:54
#15
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Цитата:
Сообщение от v_alex Посмотреть сообщение
блин... попытался так сделать... если блок динамический... стоит дернуть какую нибудь ручку и значение масштаба становится неверным... пытался и через линию... и на высоту текста ссылался... одна ерунда получается... есть еще варианты?
а ты не трогай ее динамикой и все получится.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 06.09.2010, 10:09
#16
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


это глюк какой-то был... переделал заново, все работать начало...
v_alex вне форума  
 
Непрочитано 28.12.2010, 20:32
#17
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Хочу проставить масштаб в рамке через поля,как zenon, в №12 сделал так:
Цитата:
Если кого заинтересует, то я нашел решение данной проблемы.
Оказалось достаточно начертить линию с длиной в 1 еденицу чертежа и дать ссылку в "поле" на его длину. Собсно и получаем масштаб блока.
Так и сделал, все работает.см файл orig.dwg
Но в какой то непойманный мною момент, происходит глюк- линия длиной 1 мм которая была нарисована возле рамки- блока , сдвигается фиг знает куда и уменьшается с 1 мм до 0.001600 мм(в 625 раз) см. файл gluk.dwg. Соответственно и масштаб уже не показывается.
Сам исходный блок уже становится глючным. Как подправить и чем вызвано?
Вложения
Тип файла: dwg
DWG 2004
gluk.dwg (160.2 Кб, 965 просмотров)
Тип файла: dwg
DWG 2004
orig.dwg (76.0 Кб, 970 просмотров)
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 29.12.2010, 00:56
#18
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
Хочу проставить масштаб в рамке через поля,как zenon, в №12 сделал так:
Так и сделал, все работает.см файл orig.dwg
Но в какой то непойманный мною момент, происходит глюк- линия длиной 1 мм которая была нарисована возле рамки- блока , сдвигается фиг знает куда и уменьшается с 1 мм до 0.001600 мм(в 625 раз) см. файл gluk.dwg.
А попробовать этот блок?
Файл gluk.dwg какой-то странный - открывается в моем 2008 с ошибками. Прокси нет, аудит 0. Он не чисто Автокдовский?

Добавлено позже:
а! в нем две внешние ссылки, на которые, видно, и ругань. Но их откуда-то вставляет
Вложения
Тип файла: dwg
DWG 2004
gluk_1.dwg (310.8 Кб, 979 просмотров)

Последний раз редактировалось АлексЮстасу, 29.12.2010 в 01:02.
АлексЮстасу вне форума  
 
Непрочитано 29.12.2010, 11:40
#19
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Да , recover, ругается :
Цитата:
Pass 2 100 objects auditedAcDbDimStyleTableRecord: "50" Not in Table
Added
Причем это чистится, а потом при следующем восстановлении, опять вылазит такая же ошибка.Причем и на других файлах. Ссылки не причем. Файл по идее только акадовский.
Чего ж слетает этот блок?
И заметил, что если вставить блок ramka_new2_plot, то появляется фантомный прямоугольник, который лежит на слое defpoints. Иногда даже регенерация не помогает.

Ps/ нашел из-за чего слетел блок. при вставке блока blok units переменная INSUNITS была 6, поставил 4. и все стало на свои места.
Я так понимаю это произошло из-за objects auditedAcDbDimStyleTableRecord: "50" Not in Table при очистке

Но тогда откуда появляется Not in Table??

pps/ Еще поэксперементировал, на других файлах, с переменной было все нормально, но при попытке ATTSYNC все разваливается опять.
И лезет даже после RECOVER objects auditedAcDbDimStyleTableRecord: "50" Not in Table
что это за страшный зверь?
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 29.12.2010 в 15:36.
sasha_lif вне форума  
 
Непрочитано 25.01.2011, 15:49
#20
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Recover ошибок не находит в этих файлах.
Но симптомы , описанные в №17 возникают опять:
Есть нормальный файл OK.dwg в котором автоматически пишется масштаб вставленного блока через поля и длину единичного отрезка.

Но в какой то момент времени идет глюк- см файл gluk1.dwg отрезок опорный (через который определяю длину блока) убегает и уменьшается , и масштаб не работает

Кто подскажет. что не так сделано в OK.dwg или почему появляется беда как gluk1.dwg

Заранее спасибо. Очень надеюсь на помощь
Вложения
Тип файла: dwg
DWG 2004
gluk1.dwg (36.8 Кб, 969 просмотров)
Тип файла: dwg
DWG 2004
OK.dwg (72.3 Кб, 967 просмотров)
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 02:00
#21
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
Есть нормальный файл OK.dwg в котором автоматически пишется масштаб вставленного блока через поля и длину единичного отрезка.
Прямых причин для косяков не видно, значит, придется грешить на косвенные.
В файле OK.dwg "хороший" блок ramka_new2_plot включает в себя еще один блок - ramka_new2. Собственно, во вложенном блоке нужный атрибут и живет.
(1) Возможно, что эта вложенность блока с атрибутом, вычисляющим значение по формуле, в другой блок каким-то образом плохо влияет.
При вставке "хорошего" блока ramka_new2_plot ему назначается масштаб вроде 1000 или 2000 или т.п. Но вложенный блок ramka_new2 тоже уже имеет масштаб, и неслабый - тоже 1000.
(2) Возможно, что эта "разномасштабность" или "многомасштабность" тоже плохо влияет - приводит к непредсказуемым результатам.
(3) Возможно, что этот пересчет на мильены тоже как-то плохо влияет на вычисление атрибута.
АлексЮстасу вне форума  
 
Непрочитано 26.01.2011, 12:04
#22
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Цитата:
В файле OK.dwg "хороший" блок ramka_new2_plot включает в себя еще один блок - ramka_new2. Собственно, во вложенном блоке нужный атрибут и живет.
Да, все верно, мне так надо: я програмно вставляю ramka_new2_plot с и взрываю его- на выходе получаю основной блок ramka_new2 + под ним прямоугольник на особом слое, а потом скопом можно все распечатывать. Но это все отступление...

А где вы видите
Цитата:
назначается масштаб вроде 1000 или 2000 или т.п
я в файле вставил блоки в М 1:1 где вы видите эти 1000?
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 15:22
#23
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
Да, все верно, мне так надо: я програмно вставляю ramka_new2_plot с и взрываю его- на выходе получаю основной блок ramka_new2 + под ним прямоугольник на особом слое, а потом скопом можно все распечатывать. Но это все отступление...
Когда я размножаю в модели этот блок, и масштабирую, то атрибут не реагирует. Если эти блоки с масштабом взрываю, то атрибут отображает масштаб правильно.
Зачем у атрибута стоит Lock Position==No?
АлексЮстасу вне форума  
 
Непрочитано 26.01.2011, 16:08
#24
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


АлексЮстасу, так правильно, в этом и фишка, что я вставляю в нужном масштабе блок ramka_new2_plot и взрываю , на выходе- правильный масштаб в атрибуте
А Lock Position=No-для того, что этот же блок вставлен в пространстве листа, там фокус с длиной единичной линии не проходит, т.к блок стоит в масштабе 1 к 1
поэтому я сдвигаю этот неправильный масштаб и через поле ссылаюсь на масштаб ВИДОВОГО ЭКРАНА

АлексЮстасу, так а где вы видите
Цитата:
(2) Возможно, что эта "разномасштабность" или "многомасштабность" тоже плохо влияет - приводит к непредсказуемым результатам.
(3) Возможно, что этот пересчет на мильены тоже как-то плохо влияет на вычисление атрибута.
что то не вижу этих масштабов 1000 и 2000 что вы говорите...
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 16:24
#25
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
АлексЮстасу, так правильно, в этом и фишка, что я вставляю в нужном масштабе блок ramka_new2_plot и взрываю , на выходе- правильный масштаб в атрибуте
А Lock Position=No-для того, что этот же блок вставлен в пространстве листа, там фокус с длиной единичной линии не проходит, т.к блок стоит в масштабе 1 к 1
поэтому я сдвигаю этот неправильный масштаб и через поле ссылаюсь на масштаб ВИДОВОГО ЭКРАНА
А для чего этот блок сделан - для модели или для листа?

Цитата:
Сообщение от sasha_lif Посмотреть сообщение
АлексЮстасу, так а где вы видите что то не вижу этих масштабов 1000 и 2000 что вы говорите...
Нда. Понял. Это у меня в этом файле после любого посещения редактора блоков рабочие единицы самозаменяются с миллиметров на метры. И блоки автоматом становятся в масштабе*1000.
В других файлах иногда заменяются на футы.
Природа этого отвратительного явления мне совершенно не ясна.
АлексЮстасу вне форума  
 
Непрочитано 26.01.2011, 17:12
#26
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


И туда и туда, я ж говорю. что поэтому и поставил в атрибут Lock Position=No

Может гуру посмотрят пост #20, что не так в блоках, или в файлах, или в это в моем автокаде ??
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 17:37
#27
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


С блоком из файла OK.dwg какие конкретно неприятности? Отлетает и уменьшается мерный отрезок? Как-то это можно смоделировать?
АлексЮстасу вне форума  
 
Непрочитано 26.01.2011, 17:57
#28
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


из №20:
Есть нормальный файл OK.dwg в котором автоматически пишется масштаб вставленного блока через поля и длину единичного отрезка.

Но в какой то момент времени идет глюк- нормальный файл с этим блоком превращается -в см файл gluk1.dwg: отрезок опорный (через который определяю длину блока) убегает и уменьшается , и масштаб не работает

Да, Отлетает и уменьшается мерный отрезок. причину не понял
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 18:27
#29
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
Отлетает и уменьшается мерный отрезок. причину не понял
В какой момент? Как смоделировать?
АлексЮстасу вне форума  
 
Непрочитано 26.01.2011, 21:11
#30
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


говорю ж не могу поймать...
может attsync
иногда может быть даже просто вставляю новый блок- и тут все - и старые и новый слетают
иногда было просто переключился в лист и назад в модель...

Точно не скажу.
Т.е. по идее должен работать нормально?
Но если пойти от обратного- взять глючный файл и попробовать отредактировать длину мерной линии, поставив ее длину равной 1. У меня не получается. В первый раз при закрытии блока опять стало все по старому, во второй раз выдало (при попытке открыть блок ramka_new2_plot):

Цитата:
Errors found in references to other objects:
** Object reference missing: AcDbField, to AcDbPolyline.
Какого черта ему надо... ?
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 26.01.2011, 22:12
#31
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
говорю ж не могу поймать...
может attsync
иногда может быть даже просто вставляю новый блок- и тут все - и старые и новый слетают
иногда было просто переключился в лист и назад в модель...

Но если пойти от обратного- взять глючный файл и попробовать отредактировать длину мерной линии, поставив ее длину равной 1. У меня не получается. В первый раз при закрытии блока опять стало все по старому, во второй раз выдало (при попытке открыть блок ramka_new2_plot):
Взял глючный файл, в нем подправил положение и размер мерного отрезка. (См. приложение). Копировал, вставлял в лист, преключался - пока ничего не происходило.
Заметил, что в файле gluk1.dwg после захода в редактор блоков рабочие единицы соскакивают на футы. Напомню, что в OK.dwg перескакивало на метры.
Это говорит о том, что эти файлы сделаны на основе разных шаблонов - неметрического и метрического.
Возможно, что странный размер мерного отрезка каким-то образом с этим связан. Если в какой-то момент какой-то функцией считываются рабочие единицы, делается перерасчет из миллиметров в футы или т.п.
Еще - этот отрезок лежит в слое Defpoints. Уж не знаю как может повлиять, но больше он ничем вроде бы не отличается.
Вложения
Тип файла: dwg
DWG 2004
gluk1_1.dwg (201.6 Кб, 687 просмотров)
АлексЮстасу вне форума  
 
Непрочитано 27.01.2011, 17:03
#32
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


АлексЮстасу,спасибо.
У меня тоже иногда можно настроить назад.
А в некоторых файлах, с такими же блоками- не получается.
Фиг с ним. Буду считать глючным версию моего када
__________________
Kiev, Ukraine
sasha_lif вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Примечание к блоку - его масштаб