Некорректно происходит поворот линии при угле более 180 градусов
Ответы
-
Видео прилагаю
0 -
Недавно выкладывал
Так будет понятнее
if ( NMovingGrip==2) {
vecGrip=pntGrip2-pntGrip0;
rAng2=angleTwoPi(vecDirection,vecGrip);
l2=vecLen(vecGrip)/rScl;
};0 -
Что означает rScl?
0 -
Удалите просто /rScl
rScl - текущий масштаб измерений (Вам можно пренебречь)
rSymScl - текущий масштаб символов
Например в uText для определения высоты текста
UText(mp+oX*+oY*,DegToRad(0),hText*rSymScl/rScl,1,-10.0000,string(rLenght),0,2);
1 -
Прошу прислать эскиз к этому объекту.
0 -
Этому УГО лет 20 наверное.
Я его искать неделю буду...
0 -
Посмотрите, пожалуйста, правильно ли построен мой эскиз?
Код в моем скрипте, который я изначально прислал, практически идентичен коду из Вашего примера, касаемо поворота на 360 градусов. Никак не могу найти ошибку. Одно из предположений - что-то не так в эскизе.
0 -
Завтра устроит?
1 -
Да, конечно
1 -
Посмотрите, пожалуйста, правильно ли построен мой эскиз?
Да, с эскизом все нормально. Но я его дополнил еще одним отрезкомсмотри пост ниже
и задал условие в "Исполнении"
Line(mp,node6,2,iff(rAngle<=180;1;0));
Line(node7,mp,4,iff(rAngle<=180;0;1));Почему так не разобрался. Ссылку на пост отправил тестерам
0 -
Это не поможет. Я посмотрел "Исполнение" - оно руками редактировалось.
0 -
Нашли решение для простого образмеривания геометрии:
function OnMoveGripPoint
{
if (NMovingGrip == 0) {
pntOrigin = pntGrip0;
}
if ( NMovingGrip==1) {
vecGrip=pntGrip1-pntGrip0;
rAngle=angleTwoPi(vecDirection,vecGrip);
rL=vecLen(vecGrip);
ShowMessage("rAngle :"+ rAngle);
ShowMessage("rL :"+ rL);
}1 -
Спасибо!
0 -
Если еще нужно, чтобы вместе с линией вращался и квадрат под тем же углом. Нужно для каждой стороны квадрата прописать подобные зависимости - rL*cos(rAngle) и rL*sin(rAngle) ?
0 -
0
-
Если вы продолжите развивать свою технологию то ДА
А вообще-то можно эти "Эскизы" сделать в разных "Исполнениях"
Пример тут:
0 -
xRef не относится к параметрическому и непараметрическому исполнению?
Вся логика внутри заполняется вручную?
0 -
Что означают параметры в DrawReference?
Через поиск в документации не нашел
0 -
xRef
Просто название исполнения. В данном случае исполнение, которое в
function OnInitialization по умолчанию strDesignName = "xRef";
В остальном это обычный скрипт, который принимает параметры из объекта, например
if(ispRotate == 1)
DrawReference(iff(typeImpl!=1;"Star";"Arc"),VFRONT,node3,vecDir,vecDirPerp,1,0,1);
else
DrawReference(iff(typeImpl!=1;"Star";"Arc"),VFRONT,node3,oX,oY,1,0,1);Каждое указанное исполнение может быть параметрическим или без параметров.
Я Вам уже отправлял:
Через поиск в документации не нашел
Вообще-то это из другого продукта, а там они формируются "Мастерами"
0 -
Почему здесь цикл на 15 итераций?
Что означает переменная mp?
ii=0; While(ii<15); note[ii]=mp; ii=ii+l; End While;
0 -
Так это же обычное исполнение.
Так же можно точки (руками) задавать. Нигде не описывалось
Правда тут писали разные:
Но давно это было…
Позволяет внутри отрисовки одного вида добавлять отрисовку другого. Сильно упрощает образмеривание сложных видов. позволяется использовать сложные необразмеренные виды в отрисовке и поворачивать их с помощью гриппоинтов.
DesignName="SysViewName";
DrawReference(DesignName, VFRONT, pnt, vecDir, vecPlane, scale, bDisableCache = FALSE, iReplaceLineType= -1, bCutPrevius = FALSE);
bDisableCache по умолчанию кэширование включено, выключать надо если вид параметрический.
iReplaceLineType если -1, то ничего не делается, если же отлично, то заменяет тип линии 1 на iReplaceLineType.
bCutPrevius , если TRUE то будет вырезать из всей предыдущей отрисовки, контуром из этого референса.
Распознование с чертежа:
вставка блока содержащаяя линию+текст, образмеривать нужно линию, длина линии не будет учитыватся, но образмерить ее придется.
текст должен быть в таком виде:
DrawReference(DesignName, VFRONT, 1.0);
или
DrawReference(DesignName, VFRONT, 1.0,FALSE, -1, FALSE);
т.е. координатная составляющая будет подставлена автоматически. остальные параметры пойдут в команду отрисовки.
Для указания вектора vecPlane референса в блок нужно включить вторую линию, перпендикулярную первой. Если второй линии не будет, то направление вида будет браться по-умолчанию.0 -
Почему именно 15 итераций?
0 -
Скопировал из другого исполнения.
И не отредактировал.
Кстати, надо проверить, оно тут нужно вообще?
0 -
Удалите вообще
0 -
Вот так работает. В DrawReference используется переменная mp. Не понятно откуда она берется.
0 -
Вот были это сервисные функции, так и надо было их скрытыми оставлять.
mp начало координат объекта
В каждом исполнении есть:
0 -
mp не совпадает с pntOrigin?
0 -
Это разные вещи. Совсем
0 -
Как оно работает:
0
Разделы
- Все разделы
- 35 Общие вопросы
- 25 Работа nanoCAD в ОС Linux
- 251 Платформа nanoCAD
- 6 nanoCAD GeoniCS
- 57 nanoCAD BIM Строительство
- 3 nanoCAD Механика PRO
- 38 nanoCAD BIM Электро
- 10 nanoCAD BIM Вентиляция
- 5 nanoCAD BIM ВК
- nanoCAD BIM Отопление
- 6 nanoCAD BIM СКС
- 27 nanoCAD BIM ОПС
- 2 nanoCAD Стройплощадка
- 2 nanoCAD Металлоконструкции
- 1 nanoCAD Конструкции PS
- 2 TDMS Фарватер
- Облака точек
- NSR Specification
- Учебным заведениям и учащимся