Jump to content

параметрические объекты СПДС


Recommended Posts

 

Ну а чего не так. Давно же работает?

 

 

Уверены, что в Нано СПДС 6 работает? я где-то уже писал по этой теме..

 

вроде вот

http://forum.nanocad.ru/index.php?showtopic=36&view=findpost&p=39695

Link to comment
Share on other sites

Из личной переписки с пользователями по мотивам:

 

Как на кнопку пользовательской формы добавить событие

 

1. В разделе «пользовательские функции» правой кнопкой вызываем контекстное меню и выбираем «Добавить пользовательскою функцию»

 

image001.png

 

2. В нашем случае, мы хотим открывать дополнительную форму

 

image002.png

 

3. Добавляем новую форму «Form2»

 

image003.png

 

4. Открываем на редактирование главную форму «Form1»

 

5. Добавляем на форму элемент управления «Кнопка»

 

image004.png

 

6. Размещаем кнопку на форме и в разделе «Свойства», в качестве события на «нажатие» выбираем из списка нашу пользовательскую функцию Add_prop

 

image005.png

 

7. Теперь, при нажатии кнопки будет вызываться дополнительная форма, «Дополнительные свойства» для нашего элемента Базы данных

 

image006.png

 

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

 

image007.png

transformer.zip

  • Like 2
Link to comment
Share on other sites

  • 2 months later...

Вопрос: Почему не работает управление типом линии в «Пользовательской форме» CПДС GraphiCS.

 

1. При создании скрипта с помощью «Мастера скриптов» есть возможность задать выпадывающий список для определения значения переменной.

 

image001.png

 

2. В результате формируется «Универсальный диалог» (UniDialog) объекта, в котором есть элемент управления «Выпадывающий сисок» (ComboBox)

 

image002.png

 

3. В скрипте автоматически формируется условия для определения переменной TypeLine

 

image003.png

 

4. Так как, при распознавании «Исполнения» мы заранее определили для каких примитивов эскиза будет задействована эта переменная

 

image004.png

 

То при вставке элемента из БД все работает и применяется нужный тип линии в строке отрисовки определённых объектов. Например:

 

 

image006.png

 

5 НО!!! Как только мы создаем простейшую «Пользовательскую форму» и пытаемся присваивать значение переменной в стандартном элементе управления «Выпадывающий список» (ComboBox)

 

image007.png

 

Изменения типа линии в стандартном объекте не происходит

 

 

Дело в том что элемент управления передает данные в формате «Строка» (string) а в исполнении при задании типа линии используется число.

Достаточно открыть исполнение «Редактировать как текст» и отредактировать тип данных переменной TypeLine

 

image008.png

image005.png

Пример использования типа данных в Исполнении.zip

  • Like 2
Link to comment
Share on other sites

Дело в том что элемент управления передает данные в формате «Строка» (string) а в исполнении при задании типа линии используется число.

Достаточно открыть исполнение «Редактировать как текст» и отредактировать тип данных переменной TypeLine

не ищем легких путей :D

function OnMakeParameters {
//............
TypeLine = real(TypeLine);
//............
};

  • Like 3
Link to comment
Share on other sites

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

Вопрос был том, можно ли аналогично слою автоматом, через переменные прописать в маркер (НЕ в объект) гиперссылку (т.е. есть ли такая переменная)?

Знаю, что можно иначе, но этот способ был бы самым простым.

post-62063-0-65075200-1519267712.jpg

Edited by Mитька
Link to comment
Share on other sites

Выделенный пример mcDefLayer - некая неочевидная переменная (не зная, о которой никогда так не сделаешь)

Можно посмотреть в документации.

img-2018-02-22-10-14-49.png

 

через переменные прописать в маркер (НЕ в объект) гиперссылку (т.е. есть ли такая переменная)? Знаю, что можно иначе, но этот способ был бы самым простым.

ПРОСТО - нет.

  • Like 1
Link to comment
Share on other sites

Можно посмотреть в документации.

post-23-0-08999900-1519272910.png

В СПДС 6.0 нема такого в документации =(

В принципе из представленных на скриншоте не знал только про стрелку, а ещё какие-то есть?

Link to comment
Share on other sites

  • 3 weeks later...

Исправленный шаблон для двупольной двери. (актуально для nanoCAD СПДС 8)

-Удалить старую дверь из базы

-Перезапустить приложение (чтоб наверняка)

-Импортировать новую дверь в базу

Дверь двупольная.rar

  • Like 1
Link to comment
Share on other sites

Платформа Нанокад СПДС 6

 

Так как не пользуюсь объектакми "Стены" из-за того, что время от времени вылетают разного рода глюки, которые "хорошо" себя проявили на одном из объектов, продолжаю вычерчивать планы отрезками, но, естественно очень нравилось то, что такие объекты как Окна, Двери и Проёмы перекрывали эти Стены.

Поразбиравшись немного в коде исполнения объектов, создал свои проёмы и окна, которые перекрывали бы обычные отрезки:

Создал точки, отстоящие от точек объекта в нужном мне направление на небольшое растояине и задал их как точки перекрытия

 

 

 

 

//L и W - переменные, отвечающие за габарит проёма

//mp - первая точка

 

node1:x=mp:x+L;

node1:y=mp:y;

node2:x=mp:x+L;

node2:y=mp:y+W;

node3:x=mp:x;

node3:y=mp:y+W;

 

//точки для перекрытия

 

 

node6:x=mp:x;

node6:y=mp:y-0.01;

node7:x=mp:x;

node7:y=mp:y+W+0.01;

node8:x=mp:x+L;

node8:y=mp:y-0.01;

node9:x=mp:x+L;

 

node9:y=mp:y+W+0.01;

 

//линии граней проёма

 

Line(mp,node3,0,1);

Line(node1,node2,0,1);

 

//перекрытие по новым точкам

 

Supression(1);

MoveToA(node6);

LineToA(node8,0,1);

LineToA(node9,0,1);

LineToA(node7,0,1);

LineToA(node6,0,1);

End();

 

post-65588-0-62290500-1521095618.png

 

 

 

И вроде радовался вначале результату, но в какой-то момент что-то пошло не так.

При нанесение моего проёма на два параллельных отрезка, они обрезаются прекрасно по нужным мне местам до тех пор, пока это не 2 вертикальных отрезка.

post-65588-0-38932000-1521095844.png

 

При этом не важно, вставил ли я спдс объект сразу на вертикально параллельные отрезки, или повернул на 90 градусов горизонтальные со вставленным объектов - всё равно появляется левый отрезок.

Так же не важно у какой из линий базовая точка объекта Проёма.

При этом, если тип перекрытия приметивов сменинть с "Вырезания" на "Маскирование" левый отрезок обрезается как надо

Прикрепляю сам проём.

 

Соответственно вопрос - возможно ли это как-то решить?

Менять "Вырезание" на "Маскировку" не очень хочется, так как станет важно на заднем ли плане объект находится или на переднем

Проём 2.0.zip

Edited by dromandon
Link to comment
Share on other sites

И вроде радовался вначале результату, но в какой-то момент что-то пошло не так.

нееее, так не бывает. Вспоминайте, что делали после чего "что-то пошло не так".

 

Мультик про Ваш корректно работающий объект

http://youtu.be/VUulzrW0vio

Link to comment
Share on other sites

Мультик про Ваш корректно работающий объект

http://youtu.be/VUulzrW0vio

 

А где взять эту сборку нанокад СПДС 6?

У меня 468, я думал это последняя.. и вот какие нашёл только

post-65588-0-66864100-1521104878.png

Link to comment
Share on other sites

очень сомневаюсь, что дело в разных сборках.

Попробуйте вспомнить, что делали после чего "что-то пошло не так".

так ничего, на голом файле, где до этого ничего не чертилось, объект себя так ведёт..

 

UPD. В нанокад СПДС Железобетон 3.0 всё нормально работает =/

UPD2. Нет, хорошо себя ведёт только в том случае, если это одна полилиния. Если перекрывать два отрезка или две отдельные полилинии - не перкрывает вообще ни одну из них (в железобетоне)

UPD3. Та же история с полилинией в СПДС 6.0 - цельную перекрывает, а если 2 отдельные полилиние - не перекрывает ни одну из них

Edited by dromandon
Link to comment
Share on other sites

А вами в этом случае использовались отрезки или полилиния?

 

Как и в описании проблемы - отрезки.

 

продолжаю вычерчивать планы отрезками

Link to comment
Share on other sites

Полностью снёс Нано СПДС железобетон 3.0 (ибо просто спдс сносить боюсь, много настраивать заново), проблема сохраняется =/

Link to comment
Share on other sites

Полностью снёс Нано СПДС железобетон 3.0

а с какой целью?

 

Ну в нём была такая же проблема с этим объектом. Подумал, что-то не так может быть с настройками. Снёс, удалил папки из програм дата и програм файлс. Установил заного - получается голый Нанокад СПДС Желозобетом, в котором в пустом новом файле не должно "что-то пойти не так". Но проблема сохранилась.

Теперь у меня совсем нет идей, почему так. Последний вариант - проверить на той сборке, в которой вы проверяли, но где её достать я не знаю.

Edited by dromandon
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт? Tell a friend!
×
×
  • Create New...