Пожалуйста, не блокируйте рекламу!

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн Ilia

  • *****
  • 1052
  • Репутация: +73/-0
  • Пол: Мужской
  • ...и! Не надо "и"...
Re: Отметка высоты по ГОСТ
« Ответ #75 : Декабря 30, 2006, 21:07:17 »

Test

Valery W все поправки нужны все поправки важны!!!!
Я заметил что и мои пожелания были рассссмотренны так что зря говоришь, НАМ НУЖНЕН ТВОЙ ТРУД!!!

Кста всех с наступающим!

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #76 : Января 21, 2007, 09:36:13 »
Ув господа! Не знаю, поддерживает ли ГДЛ такую функцию, как отслеживание положения мыша относительно объекта (или временного начала координат), но если как-то этого добиться, то можно реализовать элемент отметок на ином подходе. Действия пользователя следующие: первым кликом ставится НК на разрезе или плане, производятся все вычисления для пользовательской СистКоор, вторым кликом определяется местоположение самой отметки (расстояние от первого клика) и поворот ее хвоста (вверх-вниз, вправо-влево). Мы ведь имеем 4 квадранта, соответственно и вариантов не так много. Этот подход дает преимущество в том, что ничо не надо растягивать, поворачивать и вообще ломать голову - править созданный объект. Хотя абсолютно необходима опция редактора. Для VFP это стандартный подход, а вот для GTL?

*

Оффлайн and

  • *****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #77 : Января 21, 2007, 11:40:43 »
Цитировать
Не знаю, поддерживает ли ГДЛ такую функцию, как отслеживание положения мыша относительно объекта (или временного начала координат)
ИМХО нельзя..Список доступных переменных приведен в AC10 GDL Referance Guide на страницах 223-238

Есть правда Глобальные Пользовательские переменные. Как их использовать я пока не знаю :-(

Цитировать
Этот подход дает преимущество в том, что ничо не надо растягивать, поворачивать и вообще ломать голову - править созданный объект.
С этим я в принципе согласен. И попытался даже заставить работать. Но не получается пока.

[code:1]
if 270>SYMB_ROTANGLE>90 then wi=1 else wi=0   
if    SYMB_MIRRORED = 0 then mi=3 else mi = 5
i= mi + wi   
!Дальше уже простые условия по расположению элемента
[/code:1]

такой подход дал бы возможность не заходить в опции объекта без крайней обходимости. Чего я и пытаюсь добиться. Но эта структура не работает :-( Видимо из-за кривых рук.

Есть  еще другой путь. Назначить крайней дальней точке \"хвоста\" интерактивую точку, дать пользователю возможность тянуть за нее а затем проверять ее положение относитесльно 0,0 объекта (там где стрелка). И таким образом изменять сам объект.

Пока ни один из способов я не реализовал :-(

Цитировать
Хотя абсолютно необходима опция редактора. Для VFP это стандартный подход, а вот для GTL?
какая опция, какого редактора?
не понятно что такое VFP. Объясните пожалуйста поподробней, что вы имеете ввиду.
« Последнее редактирование: Февраля 14, 2007, 22:27:51 от Valery W »

*

Оффлайн BeArt

  • *****
  • 1016
  • Репутация: +94/-3
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #78 : Января 21, 2007, 17:06:27 »
Вот например, моя реализация...
« Последнее редактирование: Февраля 17, 2007, 20:20:41 от Beart »

*

Оффлайн and

  • *****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #79 : Января 21, 2007, 17:56:28 »
Посмотрел интересно. А как теперь насчет самого библа?
Где его взять то?

Перерыл этот топик отметку которая в ави файле явно нет.

Почему то не обнаружил отметку Валерия? Хотя точно ее видел.

Ребята если не сложно выложите в download разделе \"GDL чтото там про ГОСТ\"
« Последнее редактирование: Февраля 12, 2007, 01:55:13 от Valery W »

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #80 : Января 21, 2007, 19:09:39 »
Достаточно сложно объяснить смысл объектно-ориентированного подхода к структурам языка типа бейсик-а. Но логика тут вот какая. Есть объект. В нашем случае - отметка высоты как объет (отдельно стоящее дерево). Он обладает некоторыми атрибутами и свойствами, причем свойства имеют право управлять атрибутами. (Атр., например, перо или вес линии, а св-во - очень грубо - ответ вызываемой объектом функции). Так вот надо найти такую функцию, которая при событии \"клик\" возвращала бы координаты этого клика относительно любого начала координат. А дальше все вообще просто, на уровне арифметики Пупкина: еще один клик - еще координаты, еще один - и еще... Почему 3 клика? Первая группа коорд указывает на замеряемую отметку, проекция на ось Х второго клика указывает на положение носа объекта, анализ третьего клика относительно начала коорд, перенесенного на коорд 2 клика даст квадрант, т.е. как расположить объект: носом вверх, если 1-2 квадр, хвостом вправо, если 2 и влево, если 1. Дальше ума много не надо. По-моему яперестарался: никогда так много в форум не писал. Засим...

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #81 : Января 21, 2007, 19:54:30 »
И вдогонку... Анельзя ли откомпилировать код отметки от Valery W в 8.1 и выложить для использования. Я понимаю, что Вы люди продвинутые, но и я хочу приобщиться, так сказать, к Вашим успехам. Хотя бы поюзать...

*

Оффлайн and

  • *****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #82 : Января 21, 2007, 20:03:04 »
Цитировать
сложно объяснить смысл объектно-ориентированного

насколько я понимаю этот страшный термин(а понимаю я его скажем прямо плохо).
Позвольте вас спросить, когда вы писали предыдущий пост вы имеете в виду ваши пожелания к языку GDL?
Цитировать
Так вот надо найти такую функцию, которая при событии \"клик\" возвращала бы координаты этого клика относительно любого начала координат

???
GDL Referance Guide
нечего там искать такой функции пока нет...  GDL - скриптовый язык, не более. Это не язык программирования.

Все сказанное ИМХО

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #83 : Января 21, 2007, 23:07:28 »
Ничего страшного в нем нет (в ООП). Очень ласковый и послушный котик. Все, что скажешь, все делает. Только сказать надо правильно... Не будем вторгаться в сферу терминов и определений - что считать языком, а что считать... (не языком). Пожеланий же никаких к ГДЛ нет. Если представить АС как средство (инструмент) для разработки приложений (КД на выходе и есть приложение), то все становится понятным. Его дали - пользуйся. Если чем-то недоволен - попробуй описать свои объекты, но не трогай структуру приложения. Не надо обольщаться, никто никого не пустит в алгоритм приложения, хотя можно было бы и позволить пользователю вводить свои переменные типа глобал (в этой терминологии)и использовать их в дальнейшем. Насколько я понял из дискуссии - этого нет. А ответ на свой вопрос я получил - спасибо and. Все зависит от возможностей встроенного языка, либо... Прошу прощения, что вторгся.
Хотя, если посмотреть на всплывающую панельку координат, то становится ясно, что система четко отслеживает положение мыша и координаты кликов - иначе было бы глупо. Вопрос в том, как привязаться к этой переменной... Наверняка есть какие-то незадокументированные возможности.
Если даже и не ловить ее, то попробовать отслеживать на уровне параллельной подпрограммы (аддона). Это любой сишник нарисует в 2 щелчка...
« Последнее редактирование: Февраля 12, 2007, 01:55:33 от Valery W »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #84 : Января 22, 2007, 00:36:30 »
Объектно-ориентированный подход, наверно, в C++. На котором и сделан инструмент \"Размеры\" в Архикаде и сам  Архикад.
Я тоже не программер, и не знаю терминологию и особенности языков.
А библы в GDL это всего лишь сродни блокам в Автокаде, только продвинутые. При вставке они работают на одном клике (вставить), или двух (вставить и растянуть), или трех (вставить, повернуть, растянуть). Ну еще отражение получается, если при растягивании имеем отрицательное направление. Все клики обрабатывает программа, а не библ.элемент. Он только подчиняется (изменяет размеры при растягивании).

Цитировать
Хотя, если посмотреть на всплывающую панельку координат, то становится ясно, что система четко отслеживает положение мыша и координаты кликов - иначе было бы глупо. Вопрос в том, как привязаться к этой переменной... Наверняка есть какие-то незадокументированные возможности.

О какой панельке и системе координат речь?
Цитата из Хэлпа:
==================================================
ArchiCAD использует три системы координат с разными начальными точками.
•  Проектная система координат, начало которой имеет постоянное местоположение, остающееся неизменным в течение всего существования проекта. По умолчанию начало проектной системы координат располагается вблизи нижнего левого угла стартового экрана.

•  Пользовательская система координат, которая является вспомогательным средством проектирования и проведения измерений. Начало пользовательской системы координат можно поместить куда угодно, что позволяет Вам установить “текущую точку отсчета” практически в любом удобном месте. Это часто бывает полезно, когда Вам нужно позиционировать создаваемые элементы относительно существующих стен, перекрытий или других элементов.

•  Локальная система координат, которая возникает только во время построения и редактирования элементов чертежа. Начало локальной системы координат помещается в начальную точку текущей операции и используется для вычисления и индикации длины и угла направления растягивающейся линии.

==================================================

Библу разрешено запрашивать свое местоположение только от начала Проектной системы координат.
И у библа есть свое начало Локальной системы координат. Это точка А=0, B=0.
Так что если кто-то хочет сделать отметку, которая будет считать не от Проектной системы координат, а от Локальной, должен использовать параметр ширины (В).
Первый клик на уровне от куда отмерять, т.е. что будет нулем.
Второй клик на уровне элемента который обмеряем.
Все это должно делаться в режиме установки библа \"Диагонально\", т.е. с растягиванием.
Сам библ должен рисоваться на уровне верха ширины (это я уже про скрипт).

Цитировать
Если даже и не ловить ее, то попробовать отслеживать на уровне параллельной подпрограммы (аддона). Это любой сишник нарисует в 2 щелчка...

Поддерживаю! Возмись за это дело. Сделай или найди сишника.
Стали бы мы делать библы, если бы был Аддон. Конечно нет.
Нам бы GDL хоть изучить, не то что C++.

*

Оффлайн SPINCODE

  • **
  • 57
  • Репутация: +5/-0
  • Пол: Мужской
  • Spincode
Re: Отметка высоты по ГОСТ
« Ответ #85 : Января 22, 2007, 08:58:10 »
lakk писал(а):
Цитировать
Так вот надо найти такую функцию, которая при событии \"клик\" возвращала бы координаты этого клика относительно любого начала координат


Гипотетически Событие \"Клик\" бутет каждый раз направляться для обработки всем стульям и унитазам моего проекта, это раз. Я думаю, что после такого клика ArchiCAD будет задумываться секунд на 5.
А также всем умным отметкам. С точки зрения отдельно взятой отметки \"клик\" - это совершенно непостоянная величина, все равно, что летающая муха. Вывод один:

Каждый уважающий себя объект должен \"знать\" место
своего начала. Это \"Знание\" можно реализовать в виде динамической точки

 [file name=Elev_Arrow.gsm size=10030]http://cadstudio.ru/uploaded/files/Elev_Arrow.gsm[/file]

Смотри опции: \"В относительных отметках\", \"отображать
точку отсчета\".

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #86 : Января 22, 2007, 09:39:29 »
Да. Есть собственно подход ООП, а есть программы (среда разработки приложений), которые его по-разному реализуют. Это и С++, и Дельфи, и Visual FoxPro и Архикад многие другие. ГДЛ - это встроенный в АС язык, язык внутреннего общения в АС. Насчет \"поддерживаю\". К сожалению (в данном случае) я фокспрошник, а это язык для баз данных и их приложений. А вот сынок у меня знает Си. Если удастся убедить его \"встать на горло собственной песне\", то может что-то и получится.
Панель так и называтся: Всплывающая панель координат. Это в 8.1 Menu-Window-Floating Palettes-Show Coordinates. Не знаю как у версий выше. Есть и прямоугольные и полярные координаты. Двигаешь мышом, смотришь на циферки в окошках и радуешся как работает. Так вот эти циферки отражают состояние переменных, которые и возвращают данные координат относительно абс. нуля, принятого в системе. Хотя можно и переключать систему отсчета. Попробуем их поискать. Есть сильное подозрение, что в данном случае используется что-то встроенное в винду, а это головняк.
Кстати, Valery W. А все-таки можно поюзать твою отметку в 8.1?

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #87 : Января 22, 2007, 09:39:52 »
Ну напали.
Ничего Вашим мухам и котлетам на столах передаваться на будет. Вопрос не того уровня. Предлагаю не обсуждать. А вот по ссылке ничего не понял. Почему-то запустился Квиктайм и попросил обновления. Более ничего не увидел.
« Последнее редактирование: Февраля 12, 2007, 01:56:00 от Valery W »

*

Оффлайн and

  • *****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Отметка высоты по ГОСТ
« Ответ #88 : Января 22, 2007, 11:09:29 »
Цитировать

Ничего Вашим мухам и котлетам на столах передаваться на будет. Вопрос не того уровня. Предлагаю не обсуждать

не понял  к чему?
Цитировать

А вот по ссылке ничего не понял. Почему-то запустился Квиктайм и попросил обновления. Более ничего не увидел.

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

*

lakk

Re: Отметка высоты по ГОСТ
« Ответ #89 : Января 22, 2007, 13:22:27 »
AND: про котлеты не Вам - это постом выше. Прошу прощения за несуразуцу в ответе. Ваше же сохранил и приобщил в соответствии с инструкцией. Видит, но не работает. Похоже, что не для 8.1. Очень жаль.

 

Похожие темы

  Тема / Автор