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

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

*

Оффлайн ivankostinptz

  • 4
  • Репутация: +1/-0

Test

Всем привет.
Столкнулся с некоторой проблемкой: мне надо на одном листе найти все объекты с [названием] и сравнить их координаты с выбранным. Цель -  создание разбреновки посредством ArchiCAD 15, то есть есть объект ТЕКСТ вида (А-2-1 4500), показывающий
(Название стены  --  номер венца  --  номер бревна в венце____ Длина бревна).
Также необходимо найти расстояние между 2-мя линиями (см рис2)
« Последнее редактирование: Декабря 18, 2011, 11:13:51 от Valery W »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #1 : Декабря 18, 2011, 11:27:47 »
Два вопроса.
1. Маркировка "А-2-1 4500" чем все таки является? gsm-ом, т.е. библиотечным элементом? Или объектом "ТЕКСТ"?
2. Нахождение на каком таком "листе" должно происходить? В Архикаде есть Макеты, по-простому Листы, и есть Модельные окна, один из которых носит название "Рабочий лист".

Расстояние между 2-мя линиями находится замером, с помощью инструмента "Измерение" или проставлением размера с помощью инструмента "Линейный размер". Если ответил не то, что ожидали, то задавайте вопрос более развернуто.

*

Оффлайн ivankostinptz

  • 4
  • Репутация: +1/-0
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #2 : Декабря 18, 2011, 18:36:43 »
Маркировка - gsm.
Все происходит в "Изображении" разрезов.
Первые две части, т.е. первые две цифры объекта сделал. Номер стены просто вводится, а номер венца ищется в зависимости от высоты, т.е. координаты y~. Теперь нужно найти номер бревна в венце. Для этого хотел сделать перебор значений точек от точки вставки gsm с координатами (x,y) в области от (х-20000, координата низа данного венца) до (х-1, координата верха данного венца). В каждой точке проверить на присутствие этого gsm и определить их количество. Номер венца будет (количество+1).
По поводу длины бревна - нужно просмотреть точки (х-12000) до (х+12000), и найти где эти точки содержат линии, нарисованные пером №(n). допустим есть линии в точках с х=-3500 и х=+2000, тогда искомая длина бревна равна=5500.

строго не судите, вчера в первый раз открыл GDL-редактор. До этого в Делфях немного баловался (диплом делал).

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #3 : Декабря 18, 2011, 20:22:38 »
Забыл задать третий и главный вопрос. :)
Что подразумевается под словом "найти" все объекты?

Я не знаю на что способен Delphi, но для GDL, по моему, вот это: "В каждой точке проверить на присутствие этого gsm и определить их количество.", что-то из области фантастики.

Давайте по простому. Нужна разбевновка в окне фасада или разреза наподобие вот этого примера:



Так?

Текст разбревновки должен быть сделан с помощью библиотечного объекта(ов)?
Так?

*

Оффлайн ivankostinptz

  • 4
  • Репутация: +1/-0
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #4 : Декабря 20, 2011, 17:55:24 »
Да, как в том примере.
И да, текст должен быть сделан библом.

Но я не стремлюсь сделать, чтобы это было "в один щелчок ЛКМ". Моя задача гораздо проще)

При его создании я и столкнулся с проблемкой: как описать логику нахождения номера бревна в венце и его длины.
Вариант 1 был изложен выше.
Вариант 2 - делать бревно штриховкой, то есть заливать контур с помощью "волшебной палочки", присваивать каждой последующей штриховке номер больше предыдущей на 1-цу.
Есть ли какой-нибудь параметр, отвечающий за длину штриховки вдоль оси х?
Может предложите свои какие-нибудь варианты?

P.S.: Если не тяжко скиньте ссылку на эту программку. Пробовал пользоваться и К-3 Коттедж, и MAD logs - у обоих есть жесткие косяки, причем MadLogs только до 11 версии пашет, что тоже грустно.

*

Оффлайн ivankostinptz

  • 4
  • Репутация: +1/-0
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #5 : Декабря 25, 2011, 00:28:47 »
Если этого нет в GDL, то мож скажете есть ли какой API (или что-то типо этого) в Арчике? Литературу какую мож подскажете? А то осень нада)))

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #6 : Декабря 27, 2011, 16:40:43 »
Я извиняюсь, сейчас нет времени пространно ответить по этой теме.
Скажу кратко.
Делать один элемент для разбревновки всей стены сложно и долго. Легче будет программировать только для охвата участков.
В написании скрипта нужно будет использовать
1. массивы
2. выражения "For i to n"
3. точки редактирования
Если с этим знакомы, то разберетесь.

П.С.
API есть. Регистрируетесь у Графисовта как разработчик, платите денюжку, получаете API и ключ разработчика. Вроде так.

Увидеть ссылку на сайт, от куда взята картинка, можно нажав на картинку. Внизу ее будет ссылка.

*

Оффлайн CadMan

  • ***
  • 141
  • Репутация: +8/-0
  • Пол: Мужской
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #7 : Апреля 22, 2012, 23:01:41 »
Valery W, А можно немножко по-подробнее. Я вот решился тоже что то начать делать для разбревновки в Арчике. Начинаю изучать GDL.

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Нахождение одинаковых gsm-ов на листе?
« Ответ #8 : Апреля 24, 2012, 20:55:15 »
Цитировать
Я извиняюсь, сейчас нет времени пространно ответить по этой теме.

Времени по прежнему нет.
Массивы - это вообще вещь не для начинающих, а для уверенно плавающих.

 

Похожие темы

  Тема / Автор