Ivanco Posted July 20, 2014 Report Share Posted July 20, 2014 Всем добрый день. создал маркер для обозначения координат центра окружности - на скрине(маркер) во вложении. Вопросы: 1) Каким образом округлить выводимые значения координат? Также интересует каким образом например округлять на два знака после запятой? Текущий способ- {int(xx)} не округляет, а отбрасывает не целую часть. 2) Что в свойствах атрибута означают значки? (три типа: 2 стрелочки, 1 стрелочка, 1 стрелочка с замочком). не нашел этого в справке... 3) Откуда взялись ручки на которые указывают стрелки на скрине "ручки.png" , и зачем они нужны? маркер создавал из блока который видно на скрине и никаких "ручек" нигде не прописывал.как отключить созданные? 4) Создать ручку зеркального отображения значений маркера можно через "мастер объектов" ? Подскажите текст скрипта. Quote Link to comment Share on other sites More sharing options...
dows Posted July 20, 2014 Report Share Posted July 20, 2014 >> Текущий способ- {int(xx)} не округляет, а отбрасывает не целую часть. Классика программирования: {int(xx+0.5)} - округление в большую сторону... Quote Link to comment Share on other sites More sharing options...
swell{d} Posted July 21, 2014 Report Share Posted July 21, 2014 в ближайшую, а не в большую. 1 Quote Link to comment Share on other sites More sharing options...
dows Posted July 21, 2014 Report Share Posted July 21, 2014 да Quote Link to comment Share on other sites More sharing options...
Ivanco Posted July 22, 2014 Author Report Share Posted July 22, 2014 (edited) {int((yy)*1000 + 0.5 )/1000} - 3 знака после запятой. {int((yy)*10 + 0.5 )/10} - один знак. Только шрифт маркера как то странно себя ведет, ну да ладно. Первый вопрос решился... Edited July 22, 2014 by Ivanco Quote Link to comment Share on other sites More sharing options...
MCAD Posted July 24, 2014 Report Share Posted July 24, 2014 (edited) 1) Каким образом округлить выводимые значения координат? Также интересует каким образом например округлять на два знака после запятой? Текущий способ- {int(xx)} не округляет, а отбрасывает не целую часть. Уже ответили? Вообще проще это сделать через "Форму" Смотрите объект в папке "примеры"В этом же примере указана возможность использовать"Измеритель". 2) Что в свойствах атрибута означают значки? (три типа: 2 стрелочки, 1 стрелочка, 1 стрелочка с замочком).При использовании "Взять свойство с объекта" устанавливается "Тип зависимости". Одно направленная, Двунаправленная и Закрытая. не нашел этого в справке...Исправим :-(3) Откуда взялись ручки на которые указывают стрелки на скрине "ручки.png" , и зачем они нужны? маркер создавал из блока который видно на скрине и никаких "ручек" нигде не прописывал.как отключить созданные?Отключить нельзя. Управляют вписыванием текста. 4) Создать ручку зеркального отображения значений маркера можно через "мастер объектов" ? Подскажите текст скрипта. Ручку для всего маркера? Нельзя. При перемещении маркера за "красный" грипс текст отзеркалится.Скрипт для самого маркер создать нельзя. Можно создать только для обработки исполнений, контролов и событий на "Форме маркера". Пример выложу. Позже. Смотри в архиве и смотри вот эту тему: Опора воздушной линии.rar Edited July 24, 2014 by MCAD Quote Link to comment Share on other sites More sharing options...
Ivanco Posted July 24, 2014 Author Report Share Posted July 24, 2014 (edited) спасибо- требуемый результат достигнут. Редактор форм ( да и вообще маркеры) - интересные инструменты. Жаль справка у Вас по этой части непроработанна. При использовании "Взять свойство с объекта" устанавливается "Тип зависимости". Одно направленная, Двунаправленная и Закрытая как работают? можно в двух словах? В этом же примере указана возможность использовать"Измеритель". разобрался как из формы вызывать "измеритель" . Но не понял как из него обращаться напрямую к свойству объекта. Т.е. я поставил режим "свойство" , работает так: выбираю объект- отображается окно свойств- выбираю свойство(в моем случае координату Х центра окружности). Как мне его(определ.свойство объекта) напрямую в форму брать? Edited July 24, 2014 by Ivanco Quote Link to comment Share on other sites More sharing options...
MCAD Posted July 24, 2014 Report Share Posted July 24, 2014 В 24.07.2014 в 13:28, Ivanco сказал: как работают? можно в двух словах? 00:10 Создаём «Универсальный маркер» 00:15 По умолчанию тип поля «Простое» 00:20 Мы можем ввести значение для отображения на поле чертежа 00:26 Открываем маркер на редактирование и начинаем редактировать его свойства. 00:30 Добавляем свойства «Длина стержня» с «объекта Болт». Автоматически устанавливается «Однонаправленная зависимость» 00:40 Значение атрибута автоматически меняется на чертеже 00:45 Редактируем длину болта. Автоматически меняется значение атрибута маркера. 00:50 Редактируем свойства маркера и устанавливаем «Двунаправленную зависимость» 01:00 Меняем значение атрибута маркера на 120. Закрываем диалог редактирования. Меняется и значение маркера и Длина «дочернего» объекта «Болт» (если при этом дочерний объект имел свои зависимости, например участвовал в отчете или спецификации, то там тоже меняется 01:10 Открываем диалог редактирования болта. Смотрим, что максимальная длина болта 200 мм. 01:20 Открываем на редактирование маркер и меняем тип зависимости на связь с табличными атрибутами. 01:30 Вводим в поле редактирование значение длины стержня болта, не предусмотренное ГОСТ’ом. Автоматически определяется максимально допустимое значение, но в поле редактирования доступны и значения введённые пользователем. Более полно рассмотрены «зависимости» в команде SpConstraint (mcConstraint) Quote Link to comment Share on other sites More sharing options...
MCAD Posted July 24, 2014 Report Share Posted July 24, 2014 В 20.07.2014 в 16:20, Ivanco сказал: Подскажите текст скрипта. Пример использования скрипта для управлением исполнениями маркера и управления "контролами" на форме. 00:07 Открыли маркер На редактирование mcImplementation - системный атрибут (появляется при создании дополнительного исполения) В нашем случае вычисляемый (иконка соответствующая справа) 00:13 Показываю, что у маркера два исполенения (может быть сколько угодно) 00:20 Задаём условие если атрибут Ground ==1 то исполнение "Main" если нет то "LLL" 00:40 Открываем в мастере объектов: Так как это маркер, то по умолчанию у него скрипт пустой. (можно просто по двойному клику перейти на ""Пользовательские функции" Смотрим: Form.image1.Visible = 1 Человеческим языком- при выполнении функции Рисунок1 на Форме будет видимым 00:51 Открываем Форму на редактирование 01:00 Выделяем "Рабиобатон" "Заземление. Ему присвоена переменная "Grounding" созданная при создании маркера. 01:05 Присваиваем значение "1" (оно будет обсчитываться в маркере при вычислении атрибута отвечающего за "исполнение" Уточнение (там, в мультике есть еще один "Имедж") он не участвует в работе маркера (забыл убрать) То что не смог срежисировать в мультике но важно: На самой форме в свойствах (когда ни один контрол не выделен) "Событие" " на открытие - функция function OnOupen() { Form.image1.Visible = 1; Form.image3.Visible = 0; } //Принудительно выставляем видимость рисунков //На самой форме в свойствах (когда ни один контрол не выделен) "Событие" " на открытие - функция function OnOupen() { Form.image1.Visible = 1; Form.image3.Visible = 0; } То есть принудительно выставляем видимость рисунков И ещё: Там два рисунка, одинаковых размеров один над другим Исходник тут: Quote Link to comment Share on other sites More sharing options...
Ivanco Posted July 25, 2014 Author Report Share Posted July 25, 2014 спасибо за развернутые ответы.пока вопросов больше нет. ушел разбираться) 1 Quote Link to comment Share on other sites More sharing options...
Ivanco Posted October 25, 2014 Author Report Share Posted October 25, 2014 Собственно в результате : Quote Link to comment Share on other sites More sharing options...
Руслан72 Posted August 16, 2017 Report Share Posted August 16, 2017 (edited) Подскажите пожалуйста как сделать автоматизированную нумерацию? Суть в том что стандартные позиционные маркеры почему то не имеют между собой связи. И при удалении одного, нет возможности автоматом перебить нумерацию. Создал свой маркер как описано в справке. Автонумерация работает, но не могу разобраться как забить ее формулой чтоб при удалении одного из маркеров, она автоматом перенумеровала следующие. И можно ли как то сделать чтобы при вставке маркера из базы каждый раз не вылезало окно настроек. Т.к при нумерации например свайного поля из пары сотен свай, это напрягает. Edited August 16, 2017 by Руслан72 Quote Link to comment Share on other sites More sharing options...
MCAD Posted August 16, 2017 Report Share Posted August 16, 2017 В 16.08.2017 в 10:51, Руслан72 сказал: Подскажите пожалуйста как сделать автоматизированную нумерацию? Автоматической перенумерации пока нет. Можно это сделать руками в любом порядке. Например: В 16.08.2017 в 10:51, Руслан72 сказал: И можно ли как то сделать чтобы при вставке маркера из базы каждый раз не вылезало окно настроек. mcShowFormOnInsert - переменная если она 0, то диалог при вставке не показывается, может быть вычисляемой Формы по слоям и исполнениям.zip 1 Quote Link to comment Share on other sites More sharing options...
MCAD Posted August 17, 2017 Report Share Posted August 17, 2017 Нашел старый ролик с легендой: Один и тот же универсальный маркер может по-разному вести себя в зависимости от окружения и задач, которые он должен выполнять: 00:00 На чертеже присутствую элементы расположенные на трёх разных слоях. Два из которых («Зелёненький» и «Красненький»), будут управлять поведением нашего маркера. При указании в качестве «родительского» объекта отрезка не лежащего на этих слоях «Форма» (диалог) не показывается. 00:05 При указании отрезка, расположенного на слое «Красненький» открывается «Форма2»; 00:16 При указании отрезка, расположенного на слое «Зелёненький» открывается «Форма1». В каждом диалоговом окне, для одного и того же атрибута универсального маркера назначены разные контролы, с разными предопределёнными значениями. 00:31 Все маркеры данного вида имеют одинаковые атрибуты, отображаемые в «свойствах объектов» (инспекторе) и доступные для команд быстрого выбора и фильтра в отчете таблиц, например. 00:48 Открываем маркер «на редактирование» . Системный атрибут «Универсального маркера» mcShowFormOnInsert , управляющий показом формы становится равным «1» (показывать диалог) только в том случае если объект лежит на слоях «Зелёненький» или «Красненький». В других случаях он равен «0» и диалог не показывается. 01:01 Системны атрибут mcFormName – отвечающий за то, какая форма будет вызвана, является «Вычисляемым» и равен атрибуту FormList. Который сам является вычисляемым в зависимости от слоя «родительского» объекта. 01:20 Разные формы могут иметь разные значения и виды управляющих элементов для одних и тех же атрибутов. 2 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted August 17, 2017 Report Share Posted August 17, 2017 (edited) интересно!!!! а сам маркер... на посмотреть. все же в СПДС заложен огромный потенциал, но в справке даны далеко не все свойства и команды. так и приходится собирать по крохам с форумов. собрать бы все в кучу, я б поучаствовал. а то возможности у программы есть, а гида нет. Edited August 17, 2017 by doctorraz 2 Quote Link to comment Share on other sites More sharing options...
MCAD Posted August 17, 2017 Report Share Posted August 17, 2017 Так вот же он #13 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted August 17, 2017 Report Share Posted August 17, 2017 точно, с тлф ниче не вижу, комп пока не доступен))) Quote Link to comment Share on other sites More sharing options...
MCAD Posted August 17, 2017 Report Share Posted August 17, 2017 все же в СПДС заложен огромный потенциал, Вот кому, как не тебе знать, что потенциал СПДС основан не на функционале (который естественно есть) а на грамотных креативных пользователях. Если проектировщик умеет проектировать, то заложить его алгоритмы работы в поведение объектов можно без всякого программирования. но в справке даны далеко не все свойства и команды. Действительно не все. Часть команд только для "Служебного пользования". а то возможности у программы есть, а гида нет. Я пытался разбить материалы по объектам. По универсальным маркерам 1 Quote Link to comment Share on other sites More sharing options...
omsksn Posted September 24, 2020 Report Share Posted September 24, 2020 А как сделать самодельный "маркер". То есть аналог для голого нанокада? Задача: сделать блок с атрибутом, значение которого при вставке каждого нового блока изменялось бы на +1 относительно предыдущего блока с атрибутом. Т.е. условно нужен блок с "автонумерацией" Quote Link to comment Share on other sites More sharing options...
MCAD Posted September 24, 2020 Report Share Posted September 24, 2020 В 24.09.2020 в 10:34, omsksn сказал: сделать блок с атрибутом, значение которого при вставке каждого нового блока изменялось бы на +1 относительно предыдущего блока с атрибутом В этой ветке вряд ли кто-то ответит. А просто уникальный номер в атрибуте не устроит? Например: Сортировка по Z Сортировка по Y Сортировка по X В платформе не будет доступа к форме, но переменные в таблице будут доступны в "Инспекторе" приложенного файла. Тела документов Quote Link to comment Share on other sites More sharing options...
omsksn Posted November 30, 2020 Report Share Posted November 30, 2020 (edited) Спасибо. Я сделал простой блок в котором есть точка и один атрибут (который является номером точки). Вставляю несколько таких блоков в нужные места, а потом протыкиваю их все и ставлю в атрибутах номер по порядку. Потом делаю таблицу, в которой подхватываются свойства блоков (содержимое атрибутов, координаты по Х и Y). Вот и хотелось бы автоматизировать вставку каждого нового блока и что бы там автоматом номер точки проставлялся. НУ да ладно. Пока более 50ти точек не приходилось ставить, а 50 точек пронумеровать не долго в принципе. Вообще данными манипуляциями мы выдаем Заказчику таблицу с координатами фундаментов, что бы он мог открыть Подрядчику наряд на земляные работы. Слава богу, пока фундаментов не много обычно, поэтому справляемся пока ручным протыкиванием Edited November 30, 2020 by omsksn орфография Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 30, 2020 Report Share Posted November 30, 2020 5 часов назад, omsksn сказал: Вот и хотелось бы автоматизировать вставку каждого нового блока и что бы там автоматом номер точки проставлялся. Где-то был уже пример, простановки номеров точек НО с помощью маркера. Тела документов Quote Link to comment Share on other sites More sharing options...
dromandon Posted November 30, 2020 Report Share Posted November 30, 2020 (edited) 4 часа назад, omsksn сказал: Я сделал простой блок в котором есть точка и один атрибут (который является номером точки). Если работаете в спсд и сделаете подобный параметрический объект (который делается очень просто, могу накидать, если надо), то можете с помощью новых функций в таблице (которые появились в нанокад 20.1) сделать эту автоматическую нумерацию по координатам) Процесс будет следующим: Создаёте таблицу отчёта по вашему объекту, в которой прописываете условия сортировки элементов по координатам как вам надо. Создаёте отдельный столбец, в котором значение будут увеличиваться начиная с 1. Создаёте ещё один столбец, в котором будете присваивать требуемое значение вашего параметрического объекта значению из столбца с нумерацией. Далее выбираете область, в которой работать будете и вуалая - все новые параметрические объекты, попавшие в эту область будут нумероваться автоматически) PS. Я не уверен, но возможно так же можно и с атрибутом блока провернуть) Это лучше спросите у @MCAD Вот пример, как подобное реализована в параметрике Edited November 30, 2020 by dromandon 1 Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 30, 2020 Report Share Posted November 30, 2020 16 минут назад, dromandon сказал: но возможно так же можно и с атрибутом блока провернуть) Можно. Вот же пост про атибуты блока Я просто не очень понимаю, по какому "Закону" происходит нумерация Quote Link to comment Share on other sites More sharing options...
dromandon Posted November 30, 2020 Report Share Posted November 30, 2020 2 минуты назад, MCAD сказал: Можно. Вот же пост про атибуты блока а, прошу прощения, действительно)) 4 минуты назад, MCAD сказал: Я просто не очень понимаю, по какому "Закону" происходит нумерация Я тоже, к слову, перечитал, не совсем понял) Вначале показалось что по координатам точек, но теперь вижу, что вроде наооборот, вначале объекты нумеруются по какой-то логике, а потом уже с них берутся координаты) 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.