MCAD Posted September 23, 2017 Report Share Posted September 23, 2017 На хитрых болтах - есть! Есть конечно, я не спорю же. И вообще, я уже не про толщину текста. Просто используя разные инструменты, в том числе "Универсальный маркер" можно более гибко настраивать среду под себя. Маркер может управлять типоразмером стандартной детали с помощью той же таблицы параметров, которая заложена в самом объекте, но более гибко добавлять свои параметры, в том числе вычисляемые, которые закладывать в сам объект нет никакого смысла. :http://www.youtube.com/watch?v=98hx7lANoNs&list=PL1MQqrS2qjWOBqoetoe8hgJauZdVT-9sK на 2 Quote Link to comment Share on other sites More sharing options...
Kreator Posted September 23, 2017 Report Share Posted September 23, 2017 Ну я с иронией же Конечно, графике - графиково, аннотации - текстово 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 25, 2017 Report Share Posted September 25, 2017 Ну я с иронией же Конечно, графике - графиково, аннотации - текстово И я тож тогда поиронизирую. Используя пресловутую (разумеется, некорректную ) автомобильную параллель: "хотите слушать музыку в машине - возите с собой музыкальный центр. Магнитола в салоне - это так, тестовая штука, проверять, правильно ли антенна ловит радио". 2 Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 25, 2017 Report Share Posted September 25, 2017 Ну а вообще, работает - и чУдно. А если вдруг можно быстро и недорого добавить возможность назначать тексту тип линии и чуть открорректировать его работу в дальнейших версиях - было б здорово. А нет - ну извернёмся как-нить. Не в первый раз. 1 Quote Link to comment Share on other sites More sharing options...
MCAD Posted September 25, 2017 Report Share Posted September 25, 2017 В качестве бонуса и отмазки за текст: http://www.youtube.com/watch?v=YEeST3XlYu8&t=10s&list=PLxzNmJ3Maam54dScS5qUcT_yRZ70Uvb1H&index=26 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted October 2, 2017 Report Share Posted October 2, 2017 А можно задавать параметрическому объекту количество и нумерацию ручек не конкретным числом, а как-то в общем виде..? плавающим, в зависимости от кол-ва циклов внутри объекта, к примеру..? Quote Link to comment Share on other sites More sharing options...
doctorraz Posted October 2, 2017 Report Share Posted October 2, 2017 думаю, что нет. количество и расположение ручек задается один раз и изменить не получится function SetGripPoint { //ручки NGrip=4; pntGrip0=pntOrigin; pntGrip1=pntOrigin-vecDirection*DNf/2; pntGrip2=pntOrigin+vecPlane*DNf/2; pntGrip3=pntAlfa; } но по условию можно изменять реакцию объекта на ручку например function OnMoveGripPoint { //реакция на изменение ручек if (NMovingGrip==1){ vecXOld=vecDirection; vecDirection=-(pntGrip1-pntGrip0); restoreBasis(vecXOld,vecPlane,vecDirection); } else if (NMovingGrip==2 && (lViewType == VBACK || lViewType == VFRONT)){ //если фронт или сзади, то зеркалируем //относительно vecDirection vecPlane=-vecPlane ; //зеркалируем относительно vecDirection } else if (NMovingGrip==2 && (lViewType != VBACK || lViewType != VFRONT)){ //просто крутим весь объект vecPlane=(pntGrip2-pntGrip0); } else if (NMovingGrip==3 & (lViewType == VBACK || lViewType == VFRONT)){ Alfa=anglePi(vecDirection, (pntGrip3-pntGrip0))+45; //меняем угол отвода AlfaChanged(); } else { pntOrigin=pntGrip0; } } Отвод ГОСТ 17375-2001.zip 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted October 2, 2017 Report Share Posted October 2, 2017 Интуитивно тоже догадываюсь, что нет, но душа просит чего-то типа: function SetGripPoint { //ручки NGrip=4+N; // где N - уже имеющаяся переменная, привязанная к циклу pntGrip0=pntOrigin; pntGrip1=pntOrigin-vecDirection*DNf/2; pntGrip2=pntOrigin+vecPlane*DNf/2; pntGrip3=pntAlfa; pntGrip(3+cicle(уловно-всё-размеется-N))=блаблабла тож чё-то циклическое; } Если кол-во ручек в реальном времени подчиняется логическим условиям, то что по идее мешает ему подчиняться количественным значениям переменных? Механика-то примерно та же...Вопрос, могёт ли это программа... Ну, ждём авторитетного ответа. Quote Link to comment Share on other sites More sharing options...
Mитька Posted October 2, 2017 Report Share Posted October 2, 2017 (edited) Хотя... при небольшом диапазоне цикла проще прописать условия для всех хотя бы теоретически возможных ручек да и не париться... Так что вопрос остаётся, но становится чисто академическим. Ред: Не диапазоне, а кол-ве повторений. Edited October 2, 2017 by Mитька Quote Link to comment Share on other sites More sharing options...
doctorraz Posted October 2, 2017 Report Share Posted October 2, 2017 (edited) но одно маленькое НО SetGripPoint вызывается каждый раз при изменении свойств объекта извне (от другого объекта, через панель свойств или форму объекта) upd Не вызывается при перемещении и копировании средствами АК (как в нано незнаю) при воздействии на ручки SetGripPoint то же вызывается, но после OnMoveGripPoint проверить легко достаточно в соответствующие секции запихнуть ShowValue ("SetGripPoint ",); и ShowValue ("OnMoveGripPoint ",); и посмотреть в IDM, что за чем и когда отрабатывает. ------------------------------ логично было предположить, что если в SetGripPoint запихнуть условие от чего-то (или цикл), то можно было бы изменять количество и расположение ручек (по условию), но не забывать, в OnMoveGripPoint учитывать, что количество ручек изменилось. не проверял, но коль метод вызывается каждый раз, должно сработать ))))) чессно говоря не люблю я этих виртуальных коней обсуждать, как подсказывает мой скромный опыт, если у юзера возникает нужда так извращаться, то либо человеческие бизнесспроцессы пытается в код запихнуть, либо использует не то и не по назначению. и когда конь превращается в реального, выясняется, что все можно было сделать намного проще штатными методами. Edited October 2, 2017 by doctorraz 2 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted October 2, 2017 Report Share Posted October 2, 2017 проверил, меняет положение ручки в зависимости от lViewType количество ручек то же можно изменять :) академически function SetGripPoint { //ручки NGrip=4; ShowValue ("SetGripPoint ",); if (lViewType != VFRONT){ pntGrip0=pntOrigin-vecDirection*500; } else { pntGrip0=pntOrigin; } pntGrip1=pntOrigin-vecDirection*DNf/2; pntGrip2=pntOrigin+vecPlane*DNf/2; pntGrip3=pntAlfa; } 2 Quote Link to comment Share on other sites More sharing options...
MCAD Posted October 4, 2017 Report Share Posted October 4, 2017 Вопрос из личной переписки, думаю многим будет тоже полезно: Как скрыть линии в объекте? Line(node2,node0,TypeLine,HideLine); http://www.youtube.com/watch?v=czMp_t4uTXk&t=3s&list=PLxzNmJ3Maam67e9mrRIXhkdP-9e0VY9hG&index=6 3 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted October 4, 2017 Report Share Posted October 4, 2017 (edited) TypeLine принимает значения 1 Сплошная толстая основная линия Сплошная 2 Сплошная тонкая линия Сплошная 3 Волнистая линия ГОСТ 2.303 3 4 Штрихпунктирная тонкая(осевая) линия ГОСТ 2.303 5 5 Штриховая линия ГОСТ 2.303 4 6 Штрихпунктирная утолщенная линия ГОСТ 2.303 6 7 Разомкнутая линия Сплошная 8 Сплошная тонкая с изломами линия ГОСТ 2.303 8 9 Штрихпунктирная с двумя точками тонкая линия ГОСТ 2.303 9 0- по объекту, т.е. тип толщина и цвет по слою или из свойств ----------------- HideLine-0 (невидима) или 1 (видима) Edited October 4, 2017 by doctorraz 2 Quote Link to comment Share on other sites More sharing options...
Mитька Posted November 21, 2017 Report Share Posted November 21, 2017 Мож, конечно, детсадовский вопрос, но можно ли к конкретному объекту из базы привязать команду-кнопку-менюшку..? А то приходится искать их в дереве базы долго, да и в на "Предыдущую" они не реагируют... А было б удобно... Нана6, если что. Quote Link to comment Share on other sites More sharing options...
dromandon Posted November 21, 2017 Report Share Posted November 21, 2017 Мож, конечно, детсадовский вопрос, но можно ли к конкретному объекту из базы привязать команду-кнопку-менюшку..? А то приходится искать их в дереве базы долго, да и в на "Предыдущую" они не реагируют... А было б удобно... Нана6, если что. Поддерживаю. Сам искал способ, вроде нашёл как в АК с помощью простого макроса сделать можно было, но вот способа для нано СПДС 6.0 так и не нашёл 1 Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 21, 2017 Report Share Posted November 21, 2017 Вариант: http://www.youtube.com/watch?v=fYXVrOhB7K8 Quote Link to comment Share on other sites More sharing options...
Mитька Posted November 22, 2017 Report Share Posted November 22, 2017 (edited) Вариант: http://www.youtube.com/watch?v=fYXVrOhB7K8 А можно чуть больше информации, если не трудно..? Я смотрю, и нифига не понимаю, что и зачем вы делаете..? Возможно, дело в том, что пример дан по Нане 8, в НанеСПДС6 (блин, забыл указать, что это СПДС ) у таблиц нет переменной "Командная строка" и команду "^C^C_stdselected" командная строка тоже не понимает. Что я уяснил, так это про наличие идентификатора у каждого из объектов (который присваивается раз и навсегда, так ведь?), за который для наших целей можно зацепиться. Вопрос в том, КАК это сделать..? Т.е. на выходе хочется следующее: вбить в командной строке свою формулировку ("хочуобъект", а не "^C^C_stdselected ИДЕНТИФИКАТОР", а то это непродуктивно...) и получить вставку завязанного на эту команду объекта. Примерный способ описан тут: https://www.nanocad....ticles/4644588/ <?xml version="1.0" encoding="utf-8"?> <package> <command name="BlueCar" weight="30" cmdtype="1"> <script lang="VBS"><![CDATA[ Dim ms Dim ut Dim ptInsert Set ms = ThisDrawing.ModelSpace Set ut = ThisDrawing.Utility ptInsert = ut.GetPoint("0,0,0", "Укажите точку вставки") ms.InsertBlock ptInsert,"C:\MyBlocks\BlueCar.dwg",1,1,1,0 ]]></script> </command> <command name="GreenCar" weight="30" cmdtype="1"> <script lang="VBS"><![CDATA[ Dim ms Dim ut Dim ptInsert Set ms = ThisDrawing.ModelSpace Set ut = ThisDrawing.Utility ptInsert = ut.GetPoint("0,0,0", "Укажите точку вставки") ms.InsertBlock ptInsert,"C:\MyBlocks\GreenCar.dwg",1,1,1,0 ]]></script> </command> </package> Механика: скрипт на каждую команду --- приложение в автозагрузку. Это было бы технически удобно, т.к. позволило бы быстро и организованно обновлять список таких команд на всех компах. У этого способа есть большие минусы: необходимость сохранять отдельными двг-файлами каждый объект, обновлять их потом и прочая ненужная возня + непонятно, как будут вести себя объекты при вставке (с блоками-то всё просто, а у объектов есть как минимум OnConnect). Т.е. было бы классно из такого скрипта обратиться прямо к базе, вытащить объект по идентификатору и вставить. Вопрос в том, как? Edited November 22, 2017 by Mитька Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 22, 2017 Report Share Posted November 22, 2017 А можно чуть больше информации, если не трудно..? Поздно было, ограничился мультиком Нане СПДС6 В шестом нано СПДС нет палитр инструментов. Так сделать не получится Т.е. было бы классно из такого скрипта обратиться прямо к базе, вытащить объект по идентификатору и вставить. Вопрос в том, как? группы не помогут частично решить проблему? Я понимаю, что там все наоборот. Объект коннектится к уже вставленному объекту Quote Link to comment Share on other sites More sharing options...
Mитька Posted November 22, 2017 Report Share Posted November 22, 2017 (edited) группы не помогут частично решить проблему? Я понимаю, что там все наоборот. Объект коннектится к уже вставленному объекту Да основная хотелка-то как раз в командной строке, чтоб их с клавиатуры вызывать. Edited November 22, 2017 by Mитька Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 22, 2017 Report Share Posted November 22, 2017 (edited) 1. для ком строки пользуем лисп (defun C:т100 () (command "spStdSelected" "4E2FDA62C44D46D6") (princ); труба по ГОСТ 8734-75 ) ID можно посмотреть в мастере объектов или в ком строке после вызова объекта. по ентер или пробелу можно повторить вставку ----- 2. кнопка или пункт меню цепляем такой код для той же трубы ^C^CspStdSelected 4E2FDA62C44D46D6 ---------- 3. из броузера объектов 3.1. создаем в нем каталог с подкаталогами 3.2. в броузере копируем интересующие объекты и вставляем в созданные подкаталоги (это будут не объекты , а ссылки на них) 3.3 по ПКМ на каталоге "добавить закладку-броузер". ------------- 4.средствами VBS or VBA or VB цепляемся к McCOM создаем объект подгружаем его из базы по ID вставляем на чертеж PS не проверял будет ли работать OnConnect ----------------- PPS понятия не имею будут ли п.п. 1, 2 работать в нанеСПДС6 (они зависят от возможностей платформы) п.п. 3,4 от платформы не зависят, используется только функционал СПДС Edited November 22, 2017 by doctorraz 5 Quote Link to comment Share on other sites More sharing options...
Mитька Posted November 22, 2017 Report Share Posted November 22, 2017 Грасиас вам! Quote Link to comment Share on other sites More sharing options...
dromandon Posted November 22, 2017 Report Share Posted November 22, 2017 PPS понятия не имею будут ли п.п. 1, 2 работать в нанеСПДС6 (они зависят от возможностей платформы) п.п. 3,4 от платформы не зависят, используется только функционал СПДС 1-ый работает =) 2-ой - вроде на нано СПДС 6 нету способа добавить кнопку со своим макросом. Хотя опять же, может я просто плохо искал) Есть что-то похожее на данную функцию, но оно выглядит как заготовка на будущую версию Quote Link to comment Share on other sites More sharing options...
Mитька Posted November 22, 2017 Report Share Posted November 22, 2017 но оно выглядит как заготовка на будущую версию оно так уже 5 лет выглядит... Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 22, 2017 Report Share Posted November 22, 2017 теперь так ))) Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 22, 2017 Report Share Posted November 22, 2017 но оно выглядит как заготовка на будущую версию оно так уже 5 лет выглядит... Ну а чего не так. Давно же работает? http://www.youtube.com/watch?v=wjOMGmiOua8 Только добавить (если объект БД) 2. кнопка или пункт меню цепляем такой код для той же трубы ^C^CspStdSelected 4E2FDA62C44D46D6 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.