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

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

*

serg311

Test

Такой вот вопрос?
Как в новом биб.эл. можно добавить "точки привязки" (слева, по центру, справа) ?
В справке - нет.
Подскажите где хоть искать?

*

Оффлайн vm4e

  • *****
  • 522
  • Репутация: +17/-0
  • Пол: Мужской
  • Владимир
Re: Как добавить точки привязки в объект?
« Ответ #1 : Апреля 23, 2010, 13:03:55 »
меню файл>библиотеки и объекты>открыть библиотечный элемент
в окне библ. элемента кнопка "детали" там параметр "узловые точки вокруг символа"
если нужны свои точки - либо ставь в 2D виде, либо надо программировать.
а если ты открываешь окно параметров двери, и ищешь в нём точки привязки из инструмента "объект", то это ошибка

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Как добавить точки привязки в объект?
« Ответ #2 : Апреля 23, 2010, 13:07:00 »
http://cadstudio.ru/forum/index.php/topic,11994.msg21884.html#msg21884

Если программно, то Справочное руководство GDL
HOTSPOT2 стр.119
HOTSPOT стр. 61

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: Как добавить точки привязки в объект?
« Ответ #3 : Апреля 26, 2010, 13:39:28 »
Картинка какая-то странная, если у тебя это не дверь, то и не может быть такой вставки. Вроде даже тебе кто-то об этом говорил.
Из вопроса неясно о какой точке речь, в каком скрипте, если это текст то вот:
DEFINE STYLE "DOL"  FAM_font,  fh,   5,  face_code2

"DOL"      - Наим. стиля
FAM_font -Наим шрифта
fh          - высота шрифта
5           - точка привязки !их всего девять
 face_code2 -начертание шрифта

Если это 3D скрипт, то там  нет понятий лева-права
Hotspot x,y,z далее идут варианты описания точки, смотри в руководстве по GDL

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #4 : Апреля 26, 2010, 14:36:58 »
Картинка какая-то странная, если у тебя это не дверь, то и не может быть такой вставки.
Это не дверь.
Вопрос в том, как сделать чтоб эти "точки привязки" появились.
Речь идет об электроблоке который я выкладывал.
Когда вставляю библ. эл. в 2D (размер элемента зависит от масштаба), относительно этой же точки вставляется и в 3D. Если поставить размер по центру в 2D, то в 3D размер будет отличаться на разницу в масштабе. Хочу добиться вставлять библ. эл. по принципу окна или двери (с выбором первоначальной точки вставки)

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: Как добавить точки привязки в объект?
« Ответ #5 : Апреля 26, 2010, 15:25:37 »
Я не знаком с твоей электрикой, не занимаюсь подобным.
Ну вот напр. 2D скрипт
  If sd then Add2 0.1,0 ! если парам SD не равен 0 то сдвинули по x на 100мм, другой вар. Mul2 -1,1 - отзеркалить
Соотв. и в 3D надо внести поправку
А если надо чтоб как на картинке появлялись пиктограммы
Цитировать
Вопрос в том, как сделать чтоб эти "точки привязки" появились.
так это к GS

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: Как добавить точки привязки в объект?
« Ответ #6 : Апреля 27, 2010, 06:34:12 »
Скачал вот NEWElectroblock_gor, мое поверхностное мнение:
2D скрипт
PEN gs_cont_pen
!PROJECT2 3,270,2  !!++La_Ser временно включи вид сверху и узнаешь где действ. находится розетка
IF SD THEN ADD2 0.15,0!!+++
!!! далее твой скрипт
!!! ******************************** SCALE
if gs_detlevel_2D = `Зависит от масштаба` then
   MUL2 0.02*A*A_, 0.02*B*A_
                        - - - -||| - - - -
метка 100
                   !!!!  -1E-032,- замени на простой 0
line2               0,         -1E-032,            0,          0.3
line2             -0.15,         0.15,         0.15,         0.15
arc2                0,         -1E-032,            0.15,         0,       180

!!!!ENDIF +++ LSR ТУТ КРУГОМ ENDIF НЕ НАДО  endif_ы лишние на 100,200,300

RETURN

3D скрипт
!Ячейка №1
IF SD THEN ADD 0.15,0,0 !+++ не хочешь на 150мм замени на переменную

!!! далее твой скрипт
IF electrtyp =el1 THEN
GOSUB 100: !Розетка

!!! Не понял для чего в 3D скрипте HOTSPOT_ы, что они делают, какой параметр менять собирался

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #7 : Апреля 27, 2010, 15:51:25 »
Цитировать
!!! Не понял для чего в 3D скрипте HOTSPOT_ы, что они делают, какой параметр менять собирался
HOTSPOT_ы нужны для проставления ассоциативных размеров.

Цитировать
3D скрипт
!Ячейка №1
IF SD THEN ADD 0.15,0,0 !+++ не хочешь на 150мм замени на переменную
В плане все обозначения я сделал автомасштабируемые. Один и тот же значок в макете с разными масштабами будет всегда одинакового размера. Так что с переменными просто потеряешься.

Когда ставлю размер к ячейке з исходной точкой вставки, то в плане и разрезе он одинаковый.
Допустим нужно, чтобы блок из трех ячеек стоял посредине стены. В плане среднюю ячейку выставляю посредине и ставлю размер, а на разрезе этот размер другой, средняя ячейка не по центру стены.
Решение этой проблемы вижу с выбором первоначальной точки вставки (по принципу окна или двери), и возможность редактирования. Но как этого добиться пока не знаю.

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #8 : Апреля 27, 2010, 17:05:19 »
в этом случае можно, допустим привязывать розеточную группу по центру. для этого надо сместить всё содержимое библ. эл-та по центру. как 2д так и 3д. т.е. чтобы начало координат объекта находилось в той точке, которой ты его будешь привязывать. я делал именно так. потому что действительно удобно, чтобы на плане розетки были немного больше физического размера
Ты имеешь в виду для всех сделать одну точку привязки по центру?
Но тогда центр блока из двух розеток один, а из пяти другой. Как быть в этом случае?
Или я что-то не правильно понял?

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #9 : Апреля 27, 2010, 22:18:17 »
извини друг, но ты заранее задаёшь не соответствующие действительности координаты расположения элементов. по какому алгоритму, ты хочешь, чтобы они обрабатывались, чтобы получить то, что ты скрываешь от компьютера?
Хочу добиться работы по принципу алгоритма работы окна или двери.
Если точка привязки слева - эл. блок в плане и разрезе позиционируется точно по левой ячейке, по центру - по центру эл. блока, справа - по правой ячейке. Не зависимо от количества ячеек.
какие будут мисли?

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #10 : Апреля 28, 2010, 00:06:19 »
итак ключевое слово "эл. блок" если вы хотите разместить эл. блок, то зачем размещаете несколько розеток в ряд? разместите сразу блок.
Не коректное замечание. Речь идет о библ.эл. NEWElectroblock_gor
таким образом остаётся только один выход. писать многофункциональный библ. эл-т, который ты сможешь настраивать на любой размер блока и любое содержимое.
Это какое же количество параметров настроек получиться?
Должен быть способ автоматизации, это же Archicad.

Вопрос остается открытым.
Как в скрипте прописать "точки привязки" (слева, по центру, справа) как в дверях или окнах?

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #11 : Апреля 29, 2010, 16:41:48 »
C HOTSPOT-ами так до конца и не разобрался.
Может ли HOTSPOT такое:
Мне нужна такая хитрая точка, которую я могу указать при вставке библ. эл., или потом ее изменить, но чтоб в плане и на разрезе библ. эл. позыционировался относительно это й же точки. Не смотря на разность масштабов отображения (2D в каком-то масштабе, а 3D-1:1). Вобщем по принципу работы окна или двери.

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Как добавить точки привязки в объект?
« Ответ #12 : Апреля 29, 2010, 16:52:37 »
Самая первая точка (HOTSPOT2 в 2D) написанная в скрипте и будет той, от которой позЫционируется :) объект.

*

serg311

Re: Как добавить точки привязки в объект?
« Ответ #13 : Апреля 29, 2010, 17:31:07 »
Самая первая точка (HOTSPOT2 в 2D) написанная в скрипте и будет той, от которой позЫционируется :) объект.
Могу ли я потом изменить расположение этой точки?
Если изменился размер (количество ячеек) библ. эл.
Речь идет о библ.эл. NEWElectroblock_gor который я выкладывал на http://cadstudio.ru/forum/index.php/topic,7707.msg59722.html#msg59722
Когда ставлю размер к ячейке з исходной точкой вставки, то в плане и разрезе он одинаковый (библ. эл. в 2D (размер элемента которого зависит от масштаба), относительно этой же точки вставляется и в 3D).
Допустим нужно, чтобы библ. эл. из трех ячеек стоял посредине стены. В плане среднюю ячейку выставляю посредине и ставлю размер, а на разрезе этот размер другой, средняя ячейка не по центру стены, она стоит относительно исходной точкой вставки.
Хочу добиться вставлять библ. эл. по принципу окна или двери (с выбором первоначальной точки вставки и последующей возможностью ее изменения расположения, не зависимо от количества ячеек)

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Как добавить точки привязки в объект?
« Ответ #14 : Апреля 30, 2010, 18:34:31 »
Значит так. Сказав:
Цитировать
Самая первая точка (HOTSPOT2 в 2D) написанная в скрипте и будет той, от которой позЫционируется  объект
- я наврал.

Если под позиционированием подразумевается точка, от которой строится объект и изменяет свои габариты, то это точка 0,0,0 собственного начала координат библиотечного элемента. Элемент всегда будет строится от нее. И от HOTSPOT это не зависит.

Могу ли я потом изменить расположение этой точки?
Если изменился размер (количество ячеек) библ. эл.
Можете. Об этом сказал lsr. Используется условие (IF...THEN...ENDIF).
Но это будет просто перемещение точки. Объект как отрисовывался от своего начала координат, так и будет продолжать это делать.

Цитировать
Хочу добиться вставлять библ. эл. по принципу окна или двери (с выбором первоначальной точки вставки и последующей возможностью ее изменения расположения, не зависимо от количества ячеек)
Не надо путать точку вставки с точкой, от которой объект будет изменятся в размерах. Такое доступно только в проемах. И это не на уровне GDL.
Точку вставки объекта вы указываете в окошке предосмотра объекта. А точка, от которой будет строится объект, как я уже сказал, будет собственное начало координат объекта.
Так что, если Вы хотите точку, от которой строится объект, менять местами (справа, слева, посередине), то Вы должны менять не положение точки, а положение ячеек розетки от начала координат.

В общем, это и пытался донести vm4e, чьи посты Вы цитируете, но они каким-то таинственным образом не видны.
П.С. Все посты из темы "Библиотека розеток и выключателей и др. электрики." перенес сюда. По дороге ничего не растерял. Их и там не было.

И по поводу скрипта в объекте NEWElectroblock_gor.
Уберите ENDIF в подпрограммах 100, 200 и 300. Они там не нужны и считаются ошибкой.
Также, не нужны двоеточия после GOSUB.

 

Похожие темы

  Тема / Автор