Форум ArchiCAD и BIM по-русски - CADstudio.ru
ARCHICAD => Библиотеки. Библиотечные элементы. GDL => GDL-программирование => Тема начата: Uncle от Апреля 13, 2006, 16:53:35
-
X~ Y~ Z~ это глобальные переменные проектного ноля, а какие переменные пользовательского (локального) ноля? мож кто знает и скажет?
-
Ну ты втыкай пользовательское начало координат и танцуй от него. В чём проблема то?!
(https://forum.cadstudio.ru/proxy.php?request=http%3A%2F%2Fcadstudio.ru%2Fuploaded%2Fimages%2Fb710286d0e9f5e0e0338a207d9d4e280.jpg&hash=3c8072f29fce8d88d62dccef0d8aeb4fd667e0cd)
-
мне скрипт нужен
-
Попробуй тут поисчи... : http://softmachine.ru/component/option,com_remository/Itemid,42/func,fileinfo/id,147/
Удачи!
-
Cпасибо посмотрю
-
Локальный ноль постоянно перемещается вследствии применения таких команд:
ADD
ADDx
ADDy
ADDz
ROT
ROTx
ROTy
ROTz
MUL
MULx
MULy
MULz
XFORM
Продолжить?
GDL Reference Manual
Часть 3 Coordinate Transformations
-
Насколько я понял вопрос - необходимо "снять" показания координат с "плана" пользовательского нуля...
ЗЫ: Uncle эт кста не по соседнему вопросу насчет гостовской отметки...? - ато у меня есть идейка другая чутьчуть... :)
-
2nideKer
совершенно верно на счет ее родимой, и кстати локальной переменной я так и не нашел. хотя должна быть если посмотреть стандартный размер
(https://forum.cadstudio.ru/proxy.php?request=http%3A%2F%2Fcadstudio.ru%2Fuploaded%2Fimages%2Frra.jpg&hash=04f1006db094c89c8382165bd6ff8e389ea80cad)
-
:laugh: Вощем идея следующая: ((С) by nideKer ;))
Правда она не совсем автоматизированная - но эт мне кажется не страшно (И ИМХО лучше - ато пользовательская буит работать только относительно одного чертежа!).
Да попробовал все получилось! вощем к делу... :)
За данные "выводимые в отметочку" отвечает оператор str
в скрипте записано:
txt=str(y~,6,3)
Предлагается добавить переменную типа "_Е" и вычесть из y~ получаем:
txt=str(y~-_E,6,3)
Тем самым мы - просто узнаем какое расстояние от пользовательского 0 до глобального - выделяем все отметки заданного фасада/разреза - вводим разницу и... липтитип!!!
Тогда для каждого фасада/разреза - могут быть свои относительные нули!!!!
вот сама отметка...
http://cadstudio.ru/uploaded/files/otm.zip
-
а идея хорошая!!!!
-
а это не оно???
(https://forum.cadstudio.ru/proxy.php?request=http%3A%2F%2Fcadstudio.ru%2Fuploaded%2Fimages%2Fzero.jpg&hash=d0f6db535fcb6ffbf2f1c0efa979f7dcf8a49261)
-
нет не оно
-
Так бы и спросили: как сделать поправку к Глобальным переменным проектного нуля. Об этом и спрашивал marik в топике Отметка высоты по ГОСТ (http://softmachine.ru/component/option,com_smf/Itemid,95/topic,5809.0.html). Поскольку ему нужно было срочно править проект, я ему дал Отметку уровня с возможностью ставить поправку. nideKer понял как это сделать, только допустил ошибку. Надо прибавлять, а не отнимать.
А теперь подумайте, что если и существует переменная Пользовательского начала координат. И вот нескольким элементам надо привязаться к одной точке, а другим к другой. Что получится? Кому угодить? Тем или этим? Для встроенных высотных размеров эта проблема решена. При переставлении Пользовательского начала координат, они "отвязываются" от него и считают от той точки откуда "ушла" координата. У GDL, помоему, нет таких средст расчета (или как оно там будет называться).
О том, есть ли глобальная переменная для "Пользовательского начала координат", задал вопрос на форуме Graphisoft. Подождем ответа.
-
ИМХО прибовлять или отнимать... - это неважно - т.к. если необходимый чертеж лежит выше глобального ноля то надо отнимать - а если ниже то прибовлять... и соотвесно в переменной можно ставить соответствующий знак "-" .. - думаю это не ошиПка...
А теперь подумайте, что если и существует переменная Пользовательского начала координат. И вот нескольким элементам надо привязаться к одной точке, а другим к другой. Что получится? Кому угодить? Тем или этим?
В чем проблема? отметка по госту "снимает" свои параметры с Глобального ноля! Ну и соответственно - пример: есть два фасада в разных местах с разными пользовательскими настройками... - выделяй отметки одного фасада (как хочеш - через рамку и selekt object by type, либо весь фасад - а потом через удерживая шифт анвыдели и выдели снова отметку...) - задавай разницу от глобального ноля. 1й есть...
Затем выделяеш вторую группу отметок - задаеш им вторую разницу... и т.д. - никакой путаницы! - просто время от времени надо проверять размешение онных фасадов от глобального ноля1.. ИМХО вот ифсе!
И опятьже ИМХО этот способ лучше чемпривязыватся к пользовательскому нолю... !!!
-
мне способ который предложил nideKer тоже показался удобным, хотя было бы не плохо знать и другой способ.
-
К nideKer
Наш спор по поводу минуса или плюса начинает походить на спор Пишущего слева на право с Пишущим справа на лево. Поэтому пусть рассудят пользователи, которые не забивают себе голову програмированием. Жаль нет возможности устроить голосование.
Я, лично, считаю, если мой фасад/разрез поднят на 1м, то я должен "поправить дурака", т.е. внести в параметр -1м. Поэтому я назвал свой параметр "поправка".
Ты воспринимаешь параметр как "отслеживателя/наблюдателя" перемещения. Поэтому для тебя будет естественее заносить данные перемещения. Т.е. поднялся фасад/разрез на 1м, ты записал: 1м. Опустился ниже нуля на 1м, ты записал: -1м.
Так, что пусть скажут коллеги, что им по душе.
P.S. Скоро в топике Библиотека по ГОСТ появится новый библ.элемент Отметки с привычными настройками и свойствами как у встроенных отметок. Решайте скорее, как вам удобно.
Теперь по поводу Пользовательского начала координат. Тут опять мы говорим о разном. Я говорил об автоматическом считывании библ.элементом этого параметра, как это делают встроенные отметки. Ведь изначально это хотел поиметь Uncle. А ты меня учишь азам выбора объектов, чтобы вручную их потом отредактировать. В ручную я справляюсь. Сначала поставлю на план разрез. Определю превышение/понижение. Выставляю поправку в отметке. И пошел их раставлять, как семечки счелкать.
А кому-то в тягость, смотреть на сколько он поднял/опустил разрез. Ему легче поставить на ноль у разреза эту самую точку Пользовательского начала координат. И пусть отметка сама определит превышение/понижение, если она умеет это делать. И вот тут я снова, поясню проблему этого варианта. На тот же план человек ставит второй разрез и ноль второго разреза на другой "высоте". Он переставляет точку Пользовательского начала координат в другое место и раставляет новые отметки. Поскольку это библ.элементы, а не встроенные отметки, то после первого же Rebild, старые отметки обновятся и определят новое положение Пользовательского начала координат. Вот о чем шла речь.
Поразмыслив я, примерно, понял как заставить "отвязываться" библ.отметки. Дело осталось за малым, получить от Graphisoft ответ о существовании или отсутствии "скрытой" глобальной переменной. Пробовал определить ее название путем подбора близких по смыслу слов. Ничего не вышло.
По поводу изречений:
"X~ Y~ Z~ это глобальные переменные проектного ноля" и
"отметка по госту "снимает" свои параметры с Глобального ноля!".
ИМХО, X~ Y~ Z~ это глобальные переменные позиции библ.элемента относительно Глобального нуля. Отметка по ГОСТу \"снимает\" свои координаты с этих глобальных переменных.
И в заключении по поводу багов.
Помнится, в какой-то из версий АС, встроенные отметки "отвязанные" от Пользовательского начала координат, то ли после Rebild, то ли при последующем открытии документа, начинали считать от Глобального нуля. Не знаю, чья это была ошибка, разработчиков или "лекарей".
А сейчас у меня в АС9(2219) точка Пользовательского начала координат не хочет выделятся и соответственно уходить на Глобальный ноль командой Delete. Или в АС9 это делается по другому?
Спасибо всем, кто понял эту писанину. Прошу не оставлять замечаний такого рода: "выставляйте все на Глобальный ноль, пользуйтесь плотмейкером, и будет вам счастье" или "выставляйте все на Глобальный ноль, ставте отметки, потом их "взрывайте", тащите все это куда вам надо и будет вам куча шиколада".
-
Допер, что задачу можно решить без Пользовательского начала координат.
Вот сценарий:
Добавляем в "Отметку" не фиксирующуюся команду занесения значения Y~ в поправку/отслеживатель.
Для пользователей команда называется "Выставить пользовательский ноль"(или кто лучше может придумает)
Теперь работаем.
Ставим "Отметку" на смещенный ноль разреза/фасада.
Выделяем ее и заходим в параметры.
Кликаем команду "Выставить пользовательский ноль".
О.К. На плане видим в отметке "0,000". А в самой отметке теперь есть поправка.
Берем пипеткой ее свойства.
Раставляем остальные отметки для этого фасада.
Радуемся и благодарим Graphisoft за то, что мы не можем добавить в изображение размеров свой шаблон.
--------------------------------------------------
Добавление на следующее утро со свежей головой.
Вспомнил, что Y~ на плане и в окне библ.элемента показывает разные значения. Так, что вышеприведенное решение задачи не выполнимо. Поэтому радоваться нечему, просто, благодарим Graphisoft за то, что мы не можем добавить в изображение размеров свой шаблон.
-
Тока я чет не доганю чем плохО мое предложение?! :laugh:
Онож ведь зависит только от одной цыфры! и от разницы между 0 и пользовательским 0!!!
ЗЫ: Valery W Я твой библ исчо не смотрел...
;)
-
Как вывести в "ПАРАМЕТРЫ" отметку от Проектного Нуля? Какой глобальный параметр за это отвечает?