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

*

Оффлайн timmtr

  • *
  • 8
  • Репутация: +0/-0
  • Пол: Мужской
Вывод сметы элементов
« : Марта 10, 2008, 12:34:15 »
Всем доброе время суток!
Есть проблемка.. Существуют объекты, в скриптах которых есть Макровызовы других элементов.
При расчете сметы элементов отображаются только основные библиотечные элементы и ни одного макровызова.
Как я понимаю, при команде CALL вызывается и библиотечный элемент в данный проект.
не знаю как его заставить отобразиться в смете элементов (не компонентов). Может кто-то встречался с таким, где искать в GDL?
Заранее спасибо!

*

Оффлайн Mike_B

  • *****
  • 657
  • Репутация: +77/-2
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #1 : Марта 10, 2008, 19:27:01 »
В основном объекте добавьте параметры которые будут отображаться в смете.
PS: а с чего Вы взяли, что макровызов call как-то влияет на расчет сметы?

*

Оффлайн timmtr

  • *
  • 8
  • Репутация: +0/-0
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #2 : Марта 11, 2008, 12:01:50 »
Я наверное неправильно обрисовал ситуацию...
Есть объект - телекоммуникационный шкаф с количеством Unit.
В него напихиваются различные устройства, которые также являются отдельными библ объектами...
В 3D скрипте прописываю:
if gs_unit1=ga then call "Patch panel 24 port" parameters all
add 0.027, 0, 0
if gs_unit1=gd then call "Shelf" parameters all
add 0.37, 0, 0
if gs_unit1=ge then call "1111"
В 3D окне все показывает
При выводе сметы элементов, показывает только сам шкаф и ничего, что напихано внутри...((((
Если возможно, подскажите пож поподробнее где это можно прописать.

Что касается прописать скрипт спецификаций основного объекта, это будет смета компонентов. Там все показывает нормально.

*

Оффлайн Mike_B

  • *****
  • 657
  • Репутация: +77/-2
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #3 : Марта 11, 2008, 18:43:49 »
Если я правильно понял. в смете должна быть картинка шкафа с набором устройств, т.е. 2Д проекция 3Д вида?

Проверьте правильность условий if glob_context=... then. Для сметы это 6. В скрипте спецификаций впишите drawing. Попробуйте через project2 ...,...,1. Возможно элементы скрыты за непрозначной плоскостью.

PS: Это если я правильно понял.


*

Оффлайн timmtr

  • *
  • 8
  • Репутация: +0/-0
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #4 : Марта 11, 2008, 21:35:58 »
Спасибо за скорый ответ.
Дело в том, что с проекциями и видами все в порядке.
Не выдает список объектов. Например:
Шкаф - 1шт
Patch Panel - 1 шт
????? - 1 шт и т.д.
Вместо этого выдает:
Шкаф - 1 шт - и далее ничего....
Визуально в смете тоже показывает все объекты. (все устройства в шкафу)
Может у меня плохо получается объяснить, но мне только нужно узнать возможно ли чтобы объекты макровызова определялись Архикадом как отдельные объекты проекта (все равно что я вставил в проект любой из них по отдельности)?

*

Оффлайн Mike_B

  • *****
  • 657
  • Репутация: +77/-2
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #5 : Марта 11, 2008, 22:27:50 »
Попрубуйте сделать так: пусть
n - количество устройств (это и количество обращений к макросам) различное для каждого объекта.
устройство_1
------------
устройство_n            имена устройств, к-е необходимо отобразить;

параметр_1
----------
Параметр_n               параметры устройств, к-е также нужно отобразить в смете (берется из макроса);

В скрипте спецификаций пишем:

if n=1 then
  component устройство_1,параметр_1_1,параметр_1_2,параметр_1_3,параметр_1_4
endif
-----------------------------

if n=n then
  component устройство_1,параметр_1_1,параметр_1_2,параметр_1_3,параметр_1_4
  --------------------------------------------------------------------------
  component устройство_n,параметр_n_1,параметр_n_2,параметр_n_3,параметр_n_4
endif

В сметном задании выбираете эти компоненты.

Если делать только через смету элементов, то проще через базу данных:

database_set "База_имя" и определять параметры

if n=1 then
  ref component "001", "Устройство_1", параметр_1_1         
endif
--------------------
if n=n then
  ref component "001", "Устройство_1", параметр_1_1         
  ------------------------------------------------
  ref component "00n", "Устройство_n", параметр_n_1         
endif

В сметном задании (element list) в компонентах выбираете "Только специальный набор из баз данных".

*

SergeyAB

Re: Вывод сметы элементов
« Ответ #6 : Марта 12, 2008, 08:40:35 »
Автору:
Такие вещи не получатся...по крайней мере не так как вы описываете, а именно: если объект оказался в проекте макровызовом из другого объекта, то иначе как в 3д и 2д вы его нигде не увидите, пути решения:
1.Писать скрипт спецификаций для вызываЮЩЕГО объекта, так чтобы он давал всю инфу для сметы - сколько и каких фиговинок поставлено в этом конкретном щкафе...Вариант долгий и требующий затрат умственных усилий.
2. В объекте "Контейнер" - типа Шкаф, поставить 3Д хотспоты, т.е. точки привязки для всех возможных размещений в нем других устройств, иначе говоря облегчить себе труд по установке в 3д окне в него суб-девайсов...вариант естественный ибо как грили древние - "разделяй и влавствуй" - именно так, создаете для каждого девайса свои валидные параметры которые нужно учесть в смете, а в шкафу компонуете как требует проект...это понятно что есть типовые сборки свичей и т.д. но кто мешает создать проектик в котором все типовые будут уже созданы, а дальше просто скопированы в текущую задачу...
3. Писать адон...что в данном случае не целесообразно.

*

Оффлайн timmtr

  • *
  • 8
  • Репутация: +0/-0
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #7 : Марта 12, 2008, 09:44:29 »
Все понятно...Спасибо огромное.
Хотел себе облегчить задачу... Поставил шкаф, выбрал в параметрах устройство - и дело в шляпе.
Придется вставлять по одному объекту, так как невозможно управлять сметой компонентов из параметров объекта.
А именно менять цену на устройство и т д.


*

Оффлайн Mike_B

  • *****
  • 657
  • Репутация: +77/-2
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #8 : Марта 12, 2008, 10:08:12 »
А разве:
CALL macro_name_string [,] PARAMETERS ALL [name1=value1 , ...namen=valuen][[,][RETURNED_PARAMETERS r1, r2, ...]
не возвращает значения r1,r2,.. из макроса?

Конструкцию с компонентами использую для составления спецификации перемычек. В одном объекте может быть от 1 до n штук. Одна смета составляет пакет перемычек, другая спецификацию, основанную на компонентах. Цель сего действа такова, что если мы не знаем, сколько будет элементов в смете, приходится задавать определенное количество параметров, которые в любом случае отобразятся в смете, даже пустые. При использовании компонентов, строк может быть различное количество.

Конструкция с базой данных используется в RoofMaker для определения размеров элементов. Что мешает нам записать нужные значения в базу, а затем вывести их в спецификации?

PS: еще можно в макросе записать данные в буфер спомощью put, а в основном объекте их считать спомощью get
« Последнее редактирование: Марта 12, 2008, 12:55:47 от Mike_B »

*

Оффлайн timmtr

  • *
  • 8
  • Репутация: +0/-0
  • Пол: Мужской
Re: Вывод сметы элементов
« Ответ #9 : Марта 14, 2008, 14:37:51 »
Спасибо за помощь!
Решил все проблемы через вывод сметы компонентов... Неудобно правда при расчете СКС, но терпимо.

 

Похожие темы

  Тема / Автор