| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > ПО от CSoft > СПДС CS 7. Как определить угол наклона объекта к осям ПСК из скрипта?

СПДС CS 7. Как определить угол наклона объекта к осям ПСК из скрипта?

Ответ
Поиск в этой теме
Непрочитано 28.01.2016, 12:14 #1
СПДС CS 7. Как определить угол наклона объекта к осям ПСК из скрипта?
AlexV
 
Инженер
 
С-Пб
Регистрация: 02.10.2008
Сообщений: 3,685

Создаю объект СПДС - плоский каркас, со "встроенными" выносками. "Результатом удовлетворен", все работает, но - хотелось бы еще, что бы полка выноски всегда оставалась горизонтальной, а для этого надо как-то узнать "изнутри" объекта, на какой угол он повернут относительно осей текущей ПСК автокада.. Есть ли такая возможность? (поскольку у меня СПДС древний, то желательно бы ответ получить строчками скрипта, а не в виде .mcd )

Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 32
Размер:	84.3 Кб
ID:	164347  

__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
Просмотров: 2673
 
Непрочитано 28.01.2016, 13:56
2 | #2
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


пробуй, вставить в исполнение
Код:
[Выделить все]
UText(mp+oX*(x)+oY*(y),DegToRad(-angleTwoPi(oX,gX)), HText*0.5, 0.0000, -10.0000, "Выравнивание текста по горизонтали в мировой UCS");
//©MCAD
будет по Х пск после открытия/закрытия формы или изменения свойств детали
===============
Offtop: PS я бы сделал маркер- выноску привязал к свойствам детали и решил бы сразу кучу вопросов с зеркалированием, положением и пр.
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 28.01.2016 в 14:16.
doctorraz вне форума  
 
Автор темы   Непрочитано 28.01.2016, 16:00
1 | #3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от doctorraz Посмотреть сообщение
пробуй, вставить в исполнение
Код:
[Выделить все]
UText(mp+oX*(x)+oY*(y),DegToRad(-angleTwoPi(oX,gX)), HText*0.5, 0.0000, -10.0000, "Выравнивание текста по горизонтали в мировой UCS");
//©MCAD
будет по Х пск после открытия/закрытия формы или изменения свойств детали
===============
Offtop: PS я бы сделал маркер- выноску привязал к свойствам детали и решил бы сразу кучу вопросов с зеркалированием, положением и пр.
Во первых, маркер часто "отвязывается" от свойства, что чревато ошибками (особенно при перемещении/копировании/отзеркаливании). При использовании _stretch зачастую маркер ведет себя неадекватно, особенно если добавлены доп. выноски. А "вшитые в объект" выноски этих недостатков лишены. Ну и еще кой-какие бонусы.. Размерные цепочки, например, можно создавать (я в архиве пример выложил..)
Вложения
Тип файла: zip каркас.zip (7.76 Мб, 28 просмотров)
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 28.01.2016, 16:08
#4
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


о как!!
Буду теперь знать.
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 01.02.2016, 15:13 СПДС CS 7 Как определить угол наклона объекта к осям ПСК из скрипта
#5
Franswa_Divalye


 
Регистрация: 22.12.2015
Сообщений: 2


Единственные ограничения - материал покрытия,для разных покрытий разный минимальный угол кровли.
Franswa_Divalye вне форума  
 
Автор темы   Непрочитано 18.02.2016, 10:52
#6
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Из блога doctorraz спер код для вращения объекта юзером за ручку из OnMoveGripPoint..
Код:
[Выделить все]
if(NMovingGrip == 3)
 {vecXOld=vecDirection;  //запоминаем положение vecDirection
  vecDirection=(pntGrip3-pntGrip0); //новое положение vecDirection
  restoreBasis(vecXOld,vecPlane,vecDirection); //восстанавливаем систему координат объекта
};
Работает, однако! А есть ли возможность оного вращения пользовательского объекту с помощью изменения параметра из окна свойств? Пробовал в OnChangeParameters влепить нечто вроде

Код:
[Выделить все]
		if (Alfa_L != new.Alfa_L)  {
			Alfa_L=new.Alfa_L;
			if(lViewType == VFRONT)&&(lSimpleView!=2){
			   vecXOld=vecDirection;  //запоминаем положение vecDirection
  				rotateBy(vecDirection,Alfa_L,vecNormal);
  				restoreBasis(vecXOld,vecPlane,vecDirection);
			};		
		};
, не катится паровоз; в OnMakeParameters пробовал вставить то же самое по условию if (Alfa_L != 0); - не идет! Или функции по изменению векторов доступны только при дергании ручек в OnMoveGripPoint?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 18.02.2016, 12:56
1 | #7
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


спер из блога это громко сказано ))))
в СПДС из OnMoveGripPoint за ручку вращаются многие объекты... те же трубы например..
у тебя очень старый паровоз.. в СПДС 10 вращать можно из свойств по умолчанию...
по коду который у тебя не работает.. чему равен vecNormal??? по умолчанию такого вектора нет.
перед rotateBy...
добавь vecNormal=getLocalNormal(vecDirection,vecPlane);

=====================
в OnChangeParameters
Alfa_L=new.Alfa_L;
а в OnMakeParameters
Код:
[Выделить все]
if(lViewType == VFRONT)&&(lSimpleView!=2){
			   vecXOld=vecDirection;  //запоминаем положение vecDirection
                           vecNormal=getLocalNormal(vecDirection,vecPlane);
  		           rotateBy(vecDirection,Alfa_L,vecNormal);
  			   restoreBasis(vecXOld,vecPlane,vecDirection);
			};
PS не забывай после сохранения скрипта запускать "Синтаксический анализ"
код не проверял

----- добавлено через ~32 мин. -----
только вот крутить будет наверно текущий угол + Alfa_L
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 18.02.2016 в 13:02.
doctorraz вне форума  
 
Автор темы   Непрочитано 18.02.2016, 18:08
#8
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от doctorraz Посмотреть сообщение
спер из блога это громко сказано ))))
в СПДС из OnMoveGripPoint за ручку вращаются многие объекты... те же трубы например..
у тебя очень старый паровоз.. в СПДС 10 вращать можно из свойств по умолчанию...
----- добавлено через ~32 мин. -----
только вот крутить будет наверно текущий угол + Alfa_L
не, не крутит вообче..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 18.02.2016, 18:22
#9
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


пробуй так
Код:
[Выделить все]
if(lViewType == VFRONT)&&(lSimpleView!=2){
			   vecXOld=vecDirection;  //запоминаем положение vecDirection
                           vecNormal=getLocalNormal(vecDirection,vecPlane);
  		           rotateBy(vecDirection,Alfa_L,vecNormal);
  			//   restoreBasis(vecXOld,vecPlane,vecDirection);
			};
и так
Код:
[Выделить все]
if(lViewType == VFRONT)&&(lSimpleView!=2){
			   vecXOld=vecDirection;  //запоминаем положение vecDirection
                           vecNormal=getLocalNormal(vecDirection,vecPlane);
  		           rotateBy(vecDirection,Alfa_L,vecNormal);
                           vecPlane = rotateBy(vecDirection,90,vecNormal);
  			//   restoreBasis(vecXOld,vecPlane,vecDirection);
			};
и верни этот код в OnChangeParameters по условию if (Alfa_L != new.Alfa_L)
__________________
Мастерская СПДС
doctorraz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > ПО от CSoft > СПДС CS 7. Как определить угол наклона объекта к осям ПСК из скрипта?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Консервация объектов незавершенного строительства msv_mnv Обследование зданий и сооружений 6 11.11.2017 23:07
СПДС 10 CS, виды детали в свойствах, и форме скрипта не совпадают doctorraz ПО от CSoft 5 10.12.2015 14:23
Ввод в эксплуатацию салона красоты - нужно ли (и в какой форме) согласование с пожарниками ? drill_man Прочее. Архитектура и строительство 4 20.09.2013 12:03
Как определить угол наклона примитива Ratmir Программирование 2 24.03.2009 06:23