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

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

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Маркер многослойных конструкций
« : Марта 07, 2007, 13:32:11 »

Test

привет всем)

вот еще одно творение - это обычная выноска по ГОСТ
пробуйте, комментируйте, критикуйте...


/отдельно/
 
хочу поблагодарить лично Valery W за объект отметки!

спасибо за отличный и ценный пример )  приблизиться к той планке, которая  задана этим объектом, я  старался изо всех сил.


/ps/ >>> Valery W, есть некоторые вопросы, связанные с темой масштабирования при проектировании объектов, есть пожелание обсудить это в отдельной теме..

/pps/ объект, конечно ж, еще не доделан, выложил ради критики/пожеланий
« Последнее редактирование: Марта 07, 2007, 18:41:27 от GAG »

*

Лалала

Re: Маркер многослойных конструкций
« Ответ #1 : Марта 07, 2007, 14:10:28 »
Мне кажется для такого объекта удобнее когда длинна стрелки определяется указанием мышкой  при вводе. Кроме того, редко, но бывают случаи когда надо сделать стрелку изогнутую несколько раз или под углом. И конечно для показана толщины конструкции очень удобно иметь отдельную графу, чтобы не заниматься выравниванием.
Я последнее время пишу все конструкции в exel и импортирую их в ArchiCAD с подчеркнутыми снизу ячейками. Остается только дорисовать стрелку. Это оказалось удобнее чем элемент из библиотеки по гост. Если удастся сделать так же в ArchiCAD это будет очень недурно.
Второй вопрос - это выбор из базы данных. Удобно было бы иметь возможность создать редактируемые наборы и иметь возможность выбирать сразу из списка все слои одним махом. При этом чтобы при редактировании набора менялись элементы уже выведенные на чертеж. Но это задача видимо сложная.

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #2 : Марта 08, 2007, 11:29:14 »
/некоторые заметки/

а) для того,что бы применять начертание "курсив" и "жирный" через горячие точки, надо схватившись за  точку, потянуть немного вправо, обратный эффект будет, если потянуть влево...

б) ориентация может меняться по двойному клику на соответствующей точке

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

г) не обращайте внимание на слово "Наименование"  на 1 стр. спец. свойств -это временно (забыл убрать), скрипт уже изменил до конечного вида ;)


вопросы к Лалала:

1) что имелось в виду под словами "длина стрелки"? ее размер?
2) отдельную графу для толщины желатедльно поместить куда? (по ГОСТу не видел где она д.б)
3) про базы данных - не совсем понял)

*

Оффлайн and

  • ****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #3 : Марта 08, 2007, 12:34:24 »
Посмотрел на ваше творение :)
С наскока потянуть и изменить начертание шрифта не вышло...
ориентация работает если тянуть точку, по двойному клику не получилось у меня...
вопрос из каких соображений по умолчанию стоит шрифт - AcadEref Западный?
По поводу длины стрелки (линия от начала стрелки до первой полки) как то она странно работает.
см. вложение

PS: не сочтите за назойливость, но на каких условиях можно использовать? В соответствии с законадательством РФ или свободно как в случае с Валерием он вот разрешил - а вы?
PPS: Вопрос нужности условий обсуждается в "подвал>курилка>Нужна ли..." чтоб не распространять заразу :) по всему форуму

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #4 : Марта 08, 2007, 13:32:44 »
С наскока потянуть и изменить начертание шрифта не вышло...

еще раз: оно меняется, если схватившись за точку, протянуть вправо, для курсива - просто вправо, на некотое расстояние
для "жирного" достаточно довести до горячей точки, отвечающей за курсив

обратно, хватаемся за нужную точку и тянем влево, для 100% результата надо довести до вертикальной основой линии
там появляются подсказки, отражающие состояние начертания 1 или 0, ориентируйтесь пока на них, потом привыкнете )



вопрос из каких соображений по умолчанию стоит шрифт - AcadEref Западный?

где???? стоял/стоит GOST type a


По поводу длины стрелки (линия от начала стрелки до первой полки) как то она странно работает.
см. вложение

глянул) вы не совсем верно поняли )

нижняя точка отвечает за длину линии)) вот тянете вниз и получаете(вводите) длину

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

все ж просто) не думал, что с этим возникнут трудности...


ps про лицензии и т.п я уже многократно читал) окончательного понимания и соот. решения пока не приобрел
pps на данном этапе (теста) объект выкладывается свободно - это видно) ни под какой лицензией (пока) я его не провозглашаю

*

Оффлайн and

  • ****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #5 : Марта 08, 2007, 13:48:13 »
2int
Попробуйте сменить масштаб с 1:100 на какой нить другой и потяните за любую точку поймете о чем я говорю.
С курсивом и жирным разобрался проблемы с кривыми руками дают себя знать :)


*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #6 : Марта 08, 2007, 15:04:04 »
>>>and

да, понял...
в общем, я окончательно запутался в этих масштабах...

может и зря взял этот код с mul2 и paper
кто может - помогите, направьте на путь истинный )

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #7 : Марта 09, 2007, 11:18:32 »
Постараюсь помочь. Только сначала выскажу мнение как пользователь.
Заранее скажу, что сделал в скриптах вашего элемента исправления на которые буду ссылаться. Исправлению подверглось то, что не работает, работает не правильно, и то, что можно было написать короче и проще. А также кое в чем сделал свой вариант. Правленный элемент прикреплен ниже.

Про точки.
От обилия точек немного не по себе становиться. Их наличие на строках было бы естественно, если бы приходилось писать текст отдельно, не в элементе, а потом привязывать его к элементу. Управление положением выносной линии (гориз./вертик.) с помощью точек, это хорошая находка. А управление начертанием шрифта, это излишняя фишка. Шрифт то, настраивается один раз, в начале работы с объектом.
Точка регулировки длины выносной линии стоит не в том месте. Неудобно так работать.
Хорошо когда точка вставки элемента, по умолчанию, уже находится в нужном месте. В этом элементе такое место это начало выноски. Для этого надо, чтобы нужная точка была прописана в скрипте первой.

Про оформление настроек.
В панели "Параметры" сделал свой вариант оформления . Не претендую на однозначность варианта. Просто надеюсь, что он покажется более удобным, при котором глаза не разбегаются при поиске нужного параметра.
В нем заложены принципы группировки параметров по темам и одновременной настройке. Вы это тоже делали, я просто выложил свой вариант.
Следующий принцип, это исключения ненужных слов усложняющих чтение и быструю ориентацию. У вас это слово "Опции ...". У других, присутствуют такие слова, как "Введите", "Ввод", "Выберите", "Выбор". Они совершенно не нужны.
Третий принцип, которым пользуется Графисофт и который зря игнорирует Сисофт при локализации библиотеки, это написание ключевых слов с Большой Буквы.
В панели "Спец. Параметры" я привел свой вариант первой страницы. Мне показалось излишним отрисовка в интерфейсе выноски и полок. Для Вашего варианта сделал более простой скрипт. Вторую страницу не трогал. Но хотелось бы видеть ее лучше.
Настройка типа линии, это лишнее. В элементе один тип линии и он задается в своей панели.

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

Про соответствие нормативу.
Это не "обычная выноска по ГОСТ" как Вы пишите в первом посте. Это "выносная надпись к многослойным конструкциям" как правильно заявлено в названии темы. А она имеет только один тип маркера - стрелку.
По ориентации выносной надписи не могу что-либо сказать определенного. Я один раз сделал эти надписи на плане к стенам, слева от стены и снизу. Результат был плачевным. Запутались все, и конструктор и строители. С тех пор зарекся рисовать их с ориентацией отличной от образцов показанных в ГОСТе.

Теперь про скрипт.
Все упрощения и исправления вы можете увидеть в скрипте. Если что-то будет не понятно, задавайте вопросы. Здесь же покажу, только, как писать маркеры.
sizeMarker - переменная размера маркера. Тип переменной - Действительное число.
При написании скрипта надо заставить значение этой переменной изменяться при разных масштабах, чтобы размер оставался одним и тем же в печатных единицах. Есть три варианта.
Первый, всегда пишем: sizeMarker /1000*A_
Второй, пишем один раз перед скриптом маркера:  sizeMarker = sizeMarker /1000*A_
Третий, перед скриптом маркера ставим: MUL2 A_/1000, A_/1000. А после: DEL 1
Выбор варианта зависит от конкретных случаев.
Пишу ориентируясь на два последних варианта, чтобы скрипт был короче.
Точка:
   POLY2_  2, 1+2+4,
      0, 0, 900,
      sizeMarker/2, 360, 4001

Стрелка (направленная вниз):
  Равноширокая
     LINE2 0, 0, -sizeMarker, sizeMarker
     LINE2 0, 0,  sizeMarker, sizeMarker

   или
     POLY2  3, 1+2+0, ! если вместо 0 использовать 4, то будет стрелка с заливкой
      -sizeMarker, sizeMarker,
       0, 0,
       sizeMarker, sizeMarker

  Острая (с углом 30 град)
     LINE2 0, 0, -sizeMarker *tan(15), sizeMarker
     LINE2 0, 0,  sizeMarker *tan(15), sizeMarker

   или
     POLY2  3, 1+2+0, ! если вместо 0 использовать 4, то будет стрелка с заливкой
      -sizeMarker *tan(15), sizeMarker,
       0, 0,
       sizeMarker *tan(15), sizeMarker


Вот пример стрелки для маркера разреза. По ГОСТу стрелка может быть трех типов.
Отрисовка стрелки делается острием вверх.
VALUES "typeArrow" 1, 2, 3 ! типы стрелки
sizeArrow ! размер стрелки
     POLY2  3, 1 + 2*(typeArrow > 2) + 4*(typeArrow > 1),
      -sizeArrow *tan(10), -sizeArrow,
       0, 0,
       sizeArrow *tan(10), -sizeArrow
     LINE2 0, 0, 0, -sizeMarker*2


Дерзайте.
====================================================
Те, кто понимает, что "если что-то не запрещено, то разрешено", могут дальше не читать.
Для иных, кто без официального разрешения не могут ступить и шагу, официально разрешаю:
весь скрипт приведенный в посте и новый скрипт в правленном элементе, использовать как вам заблагорассудится. Пусть душа ваша будет спокойна. Аминь.
« Последнее редактирование: Марта 09, 2007, 12:27:26 от Valery W »

*

Лалала

Re: Маркер многослойных конструкций
« Ответ #8 : Марта 09, 2007, 15:26:52 »
1. Насчет длины стрелки я имел ввиду, что удобно было бы если бы элемент работал как стандртная выноска - сначала кликом указываешь точку на конструкции, потом вторым кликом  указываешь точку где должна стоять надпись.
2. Толщины по моим понятиям должны быть сделаны как отдельная колонка окошек для заполнения, которая размещается на указанном расстояние от начала надписи материала.
3. Насчет  выбора из текстовой базы я имел ввиду, что существуют стандартные "пирожки" которые переходят из проекта в проект. Можно конечно сохранятьь каждый как отдельный библиотечный элемент, но это надолго не хватит. Удбнее было бы иметь текстовую редактируемую базу которую можно структурировать и делать из нее выбор. То есть я выбираю, сначала "Скатные кровли", затем подкатегорию "Холодный  чердак"  и т. д. до выбора конкретной конструкции.
Эьто глобальная проблема архикада вообще. По этому принципу можно бы было указывать стандартные названия помещений или выбирать полы. Тогда можно было бы забивать серии как часть архикадовской библиотеки, а это громадная экономия времени при проектировании.   Такие решения легко реализовывались в автокаде еще лет десять назад. Почему в ArchiCAD нет стандартного механизма не понимаю.

*

Оффлайн and

  • ****
  • 418
  • Репутация: +22/-2
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #9 : Марта 09, 2007, 15:53:15 »
В целом согласен с Лалала
можно было бы брать свойства элемента к которому приставлен указатель, и чтоб он  брал весь пирожок из этого элемента :)

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #10 : Марта 09, 2007, 17:06:31 »
>>>Valery W

огромное спасибо!

уже отсмотрел ваш скрипт, понял недочеты (мое описание точку - это вообще ужастик), продвигаюсь в понимании масштабирования (оказывается там 2 переменные надо..)

про начертания - да, лишнее наверно - убрал
про интерфейс  - пока оставлю как есть
по стрелку - принято

нашел один баг в вашем варианте - после смены масштаба и последуюещй смены ориентации с вертиальной на горизонтальную остается неверная длина основной линии надписи, но это так, мелочь)) все равно буду делать симбиоз, основываясь на лучших позициях вашего скрипта + встраивая их в свое..

поработаем еще..


>>>Лалала

1. теперь понял, как я себе вижу, этот наворот можно будет делать толуо на основе четкого основного скрипта

2. понял, только это никак не прописано в ГОСТ..

3. понятно и тут...может... в будущих версиях))

>>>and

чтобы брать сразу "пирожок" - это, конечно, клево
только до этого надо дорасти еще...(умениями+четко подбитой основной частью объекта)

всем спасибо за внимание!

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #11 : Марта 09, 2007, 23:01:38 »
Цитировать
нашел один баг в вашем варианте - после смены масштаба и последующей смены ориентации с вертикальной на горизонтальную остается неверная длина основной линии надписи, но это так, мелочь

"основная линия надписи" - это выносная линия или полка надписи? Уточните, пожалуйста.

Хочу поддержать Лалала, в его пожелании (пункт 2).
Не буду ссылаться на ГОСТ, в нем, действительно, по оформлению строк ничего не сказано. Но на практике многие стараются оформить эту надпись красиво. Красота состоит в том, что названия слоев выравниваются по левой стороне списка, а их толщины по правой. В такой же выносной надписи из "Библиотеки по ГОСТ" это осуществлено. Посмотрите, пожалуйста.
Сразу хочу внести еще предложение в этот пункт. Хотелось, чтобы единицы измерения для толщин слоев вставлялись автоматически.

По поводу регулировки длины полок текста. Считаю, что эта функция ненужная. Она только добавляет работу, а не упрощает. Длина полки равна длине самого длинного текста плюс длина знака пробела плюс длина отступа текста.

И по перьям. Сделайте, пожалуйста, еще и цифровой ввод номера пера в пользовательском интерфейсе. Это ускоряет настройку. Я, например, в своих проектах четко определяюсь с использованием перьев, поэтому мне всегда быстрее и удобнее вводить номер, чем рыскать по таблице.
Возьмите для этого скрипт из моей "Отметки высоты". Там размеры окошка ввода и кнопки соответствуют тем размерам, которые использует Графисофт во всех панелях настроек.

Спасибо.
« Последнее редактирование: Марта 10, 2007, 00:29:53 от Valery W »

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #12 : Марта 09, 2007, 23:57:04 »
Цитировать
нашел один баг в вашем варианте - после смены масштаба и последующей смены ориентации с вертикальной на горизонтальную остается неверная длина основной линии надписи, но это так, мелочь

"основная линия надписи" - это выносная линия или полка надписи? Уточните, пожалуйста.
ого длинного текста плюс длина знака пробела плюс длина отступа текста.


та, которая вертикальная
при многократной смене масштаба там вылезает лишний конец



Еще по поводу регулировки длины полок текста. Считаю, что эта функция ненужная. Она только добавляет работу, а не упрощает. Длина полки равна длине самого длинного текста плюс длина знака пробела плюс длина отступа текста.

действительно так. уже предположил что этим может закончиться развитие параметра "длина полки"
будем реализовывать

*

Оффлайн BeArt

  • *****
  • 1016
  • Репутация: +94/-3
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #13 : Марта 10, 2007, 00:34:06 »
Дам небольшой скриптик (шаблон), поясняющий мою концепцию, мой взгляд на этот библиотечный элемент.

PEN 1
unID=1
HOTSPOT2 0,0,unID : unID=unID+1
HOTSPOT2 0,b,unID : unID=unID+1
x=int(b)
dx=(b-x)
========================!
LINE2 0,0,0,b
FOR k=1 to x
  LINE2 0,1+dx,a,1+dx
  ADD2 0,1
NEXT k
DEL x
HOTSPOT2 a,dx,unID : unID=unID+1

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Маркер многослойных конструкций
« Ответ #14 : Марта 10, 2007, 01:05:32 »
Дам небольшой скриптик (шаблон), поясняющий мою концепцию, мой взгляд на этот библиотечный элемент.

Забавная игрушка.  :-* Но не более.  :-\

 

Похожие темы

  Тема / Автор