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

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

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #285 : Декабря 07, 2016, 14:41:32 »

Test

И в этом же языке должен быть доступ к созданию стандартных элементов ArchiCAD - стен, перекрытий и т.д. 
Золотые слова. Их бы, да разработчикам в уши. Пока ответ один - желаете повелевать стандартными элементами - учите api, вместе с с++.

*

Оффлайн N_Nataly_y

  • 1
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #286 : Января 19, 2017, 11:31:09 »
добрый день, подскажите пожалуйста как решить мне задачу : в ArchiCAD я делаю расстановки мебели ( только вид сверху, дальше уже в 3dsmax ) я сделала себе плоские объекты соответствующих габаритов и сверху текст ( стол размер такой то) сохранила в библиотеку, но когда на плане их переворачиваешь текст к верх ногами. потом я сделал без текста и хотела добавить текст в параметрах объекта ( открыла объект холодильник из библиотеки, если холодильник крутить текст остается горизонтальным что мне и нужно собствено) и начала добавлять переменные по аналогии, все добавляется кроме параметра typeTextRotation (тип Текст) у которого в значении должно было появится : читаемый, всегда горизонтально, выровнять по символу. А у меня ничего. если кто то поможет буду благодарна

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #287 : Марта 29, 2017, 18:11:36 »
Всем привет.
Подскажите, как узнать минимальное или максимальное значение из динамического массива? Данные в массив попадают из проекта, если это важно.

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #288 : Марта 29, 2017, 23:47:13 »
min = 0 : max = 0
for i=1 to vardim1(arr)
   if arr[i] < min then min = arr[i]
   if arr[i] > max then max = arr[i]
next i

Для одномерного вроде так. Правда, не проверял.

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #289 : Марта 30, 2017, 00:23:05 »
min = 0 : max = 0
for i=1 to vardim1(arr)
   if arr[i] < min then min = arr[i]
   if arr[i] > max then max = arr[i]
next i

Для одномерного вроде так. Правда, не проверял.
не чё то не так, min и max это функции GDL, их не льзя приравнивать к нулю.
Но я допер как нужно определить
dim arr[]
arr[1]=8
arr[2]=68
arr[3]=43
arr[4]=684
arr[5]=168
for i=1 to vardin1(arr)
put arr[i]
next I
print max (get(nsp))

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #290 : Марта 30, 2017, 10:00:29 »
не чё то не так, min и max это функции GDL, их не льзя приравнивать к нулю.
Да, надо было назвать переменные var_min и var_max
Но я допер как нужно определить
Отличное решение! По идее, должно работать быстрее, чем моё. Спасибо,  буду теперь такой способ использовать.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #291 : Марта 31, 2017, 00:56:08 »
Всем привет.
Такой вопрос- может кто сталкивался. 
При прописке автоматом макроса в скрипт, среди прочих есть параметр  AC_show2DHotspotsIn3D = 1, по идее- показывать точки привязки прописанные в макросе. Зануляю-  AC_show2DHotspotsIn3D = 0. По идее, в создаваемом библе, точки привязки макроса должны не показываться, но- как ни странно- все точки на месте. Кто нибудь с этим разбирался. 

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #292 : Марта 31, 2017, 21:07:18 »
По моему этот параметр отвечает за отображение точек  2д скрипта в 3д окне . На точки  3д скрипта  влияния не оказывает. Посмотри он должен быть завязан на глобальный параметр. Могу ошибаться . Давно шаблоны готовил.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #293 : Апреля 01, 2017, 09:27:50 »
По моему этот параметр отвечает за отображение точек  2д скрипта в 3д окне . На точки  3д скрипта  влияния не оказывает. Посмотри он должен быть завязан на глобальный параметр. Могу ошибаться . Давно шаблоны готовил.

Совершенно верно- это узловые точки из 2д скрипта макроса, для 3д вида. То есть их, по идее,  можно включать или отключать для создаваемого библа. Но это не работает. В параметрах отображения в 3д окне----активировать 2д узловые точки, на элемент макроса не распространяется. Мне же нужно- чтоб в проекте отображались  2д точки библа- но, при этом, не отобображались точки 2д самого макроса. При повороте элемента объект получается несколько перегружен точками привязки, простыми словами- их несколько дохрена.   

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #294 : Апреля 01, 2017, 09:51:11 »
"проекте отображались  2д точки библа- но, при этом, не отобображались точки 2д самого макроса"

Отдельный выключатель в 2д скрипт писать надо. В макросе ведь не завязано отображение  в 2д  точек на параметр "AC_show2DHotspotsIn3D".  Этот параметр не отключает точки на плане А только показ точек в 3д окне. И то , если завязан на глобальную переменную. В чем я могу и ошибаться. Как вариант можно попробовать переподчинить параметр. 
Или я не правильно тебя прочитал.  

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #295 : Апреля 01, 2017, 19:04:35 »
Отдельный выключатель в 2д скрипт писать надо. 

То- то и оно, что по другому похоже ни как. На плане этих точек не видно. Они есть только в 3д- как проекция на нулевую плоскость. В результате- в 3д окне левые точки. Может кто то всё же знает- можно ли их отключить через библ- а то блин макросов ( а они у меня параллельно являются элементами библиотеки ), переписывать не мало.

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #296 : Апреля 01, 2017, 19:55:58 »
Валер сложно понять не видя всей картины. Отключи 2д скрипт. Тоесть. Не объявляй макрос в основном скрипте и 2д, обьяви в параметрах и 3д. А там не знаю как у тебя файл строится. Если через проджект проекция,  то зацепит с 3д вида.  Может когда объявишь в 2д без основного скрипта начнет работать и этот параметр по скольку не будет конфликтовать параметр макроса с тем же параметром модели.  А точки свои допиши в 2д если нужны.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #297 : Апреля 03, 2017, 02:34:32 »
Валер сложно понять не видя всей картины. Отключи 2д скрипт. Тоесть. Не объявляй макрос в основном скрипте и 2д, обьяви в параметрах и 3д. А там не знаю как у тебя файл строится. Если через проджект проекция,  то зацепит с 3д вида.  Может когда объявишь в 2д без основного скрипта начнет работать и этот параметр по скольку не будет конфликтовать параметр макроса с тем же параметром модели.  А точки свои допиши в 2д если нужны.

Я решил проблему, с помощью выключателя. иначе ни как. 

*

Оффлайн Ilia

  • *****
  • 1052
  • Репутация: +73/-0
  • Пол: Мужской
  • ...и! Не надо "и"...
Первые шаги в GDL
« Ответ #298 : Июня 20, 2017, 13:40:10 »
Добрый день.

Изучаю GDL нужна ваша помощь.

1. Возможно ли сделать переменное кол-во вершин в многоугольник (POLY2_).
Пример проблемы во вложении - гифка - мне нужно чтобы из окружностей дуг, в случае когда одна сторона пересекается с другой не было этого артефакта-куска.

Как я понимаю - в момент когда секущии плоскости пересекаются, должно меняться кол-во вершин в poly2_.
Мне кажется моя задача вообще как-то сложно реализуемая %). Необходимо менять порядок и других вершин, придется менять и коды статусов через перемененные...  В общем нужна помощь :)


2. Есть иной способ как  это реализовать? можете показать примеры?

ЗЫ: во вложении гифка с тем что меня не устраивает и сам файл объекта

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #299 : Июня 20, 2017, 14:54:18 »
Нужно PUT ить, а потом GET ить)
put 0,0,15
put 0,1,15
put 1,1,15
put 0,0,-1
PRISM_  NSP/3, -1, get(NSP)
NSP - количество чисел в буфере
http://gdl.graphisoft.com/reference-guide/parameter-buffer-manipulation#PUT_gdlcommand

put можно  и массивом создавать, и передавать из PolyOperations, если вам нужно пересекать многоугольники

 

Похожие темы

  Тема / Автор