• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Зеркальность эскизов тел вращения при программном построении модели?

Автор p3452, 18.01.21, 14:38:51

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

p3452

Собственно, вопрос - в теме...
Иллюстрация на картинке: верхняя пара - моделирование "ручками", нижняя пара - программная реализация.
Почему так?v18 API-Зеркальность эскиза тел вращения.png

СВ

 Так - как? Эскиз ничего не рассказал, что с ним не так?

p3452

Нет - ничего не рассказал, перевернулся и молчит... :-)))
Вот еще один..., живу с этим как с данностью, но вопросик внутри сидит!
v18 API Перевернутый эскиз.png

СВ

 Ну ладно, спрошу прямым текстом: - Программное построение модели - это как? Какие именно действия выполнялись?
- - - - -
Предположу, что построен эскиз, сделана зеркальная копия и эта копия при операции Выдавить вращением создаёт такое же тело, как и исходный эскиз. А должно быть зеркально.
А ось вращения тоже зеркалится?

p3452

При построении в ручном режиме:
- Первая картинка в верхнем ряду - вид детали, который должен получится и эскиз тела вращения.
- Вторая картинка в верхнем ряду - эскиз тела вращения (обратите внимание ось Х - вправо, ось У - вверх).
Логично предположить, что и при программном формировании эскиза нужно вводить координаты исходя из аналогичного положения координатных осей, но это не так!
- Нужный вид и положение детали программно можно получить если программно сформировать эскиз как показано на картинке во втором ряду, т.е. зеркально относительно оси X.

СВ

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

Дядя Костя

А вы попробуйте на поверхности разместить точку в режиме эскиза и на ней же отверстие в режиме моделирования, по одним и тем же координатам, у меня они не совпадают...  :%:

p3452

Цитата: СВ от 18.01.21, 17:28:08Может быть: при "ручном рисовании" мы выбираем любую сторону плоскости для эскиза, а при программном - только один вариант.
Попробовать "ручной" создать на той же стороне, что и программный.
Эскиз строим на базовой плоскости XOZ:
- В ручную, плоскости не "переворачиваем" - все "по умолчанию".
- Программно, так же все - "по умолчанию"
sketch1.Plane = part1.DefaultObject[ksObj3dTypeEnum.o3d_planeXOZ];  // Опорная плоскость

EKosarev

а покажите код пожалуйста как вообще чертеж или модель зеркально перестроить

p3452

Цитата: EKosarev от 03.02.21, 11:05:39а покажите код пожалуйста как вообще чертеж или модель зеркально перестроить
Несколько вариантов..., некоторые можно найти в папке \SDK\Samples\...\STEP5:
DrawTransform(doc) - трансформация объекта по матрице
DrawCopy(doc) - копирование объекта
DrawSymmetry(doc) - симметрия объекта.

EKosarev


Grupp:=NewGroup(0);
EndGroup;
SelectGroup(0,2,10E16,10E16,10E16,10E16);
AddObjGroup(0,Grupp);

EKosarev

я выделил весь чертеж по вашей школе(спсибо)
Document2D.ksRebuildDocument();
            gr:=Document2D.ksNewGroup(0);
            gr:=Document2D.ksEndGroup;
            Document2D.ksSelectGroup(0,2,10E16,10E16,10E16,10E16) ;
            Document2D.ksAddObjGroup(0,gr);
а с его зеркальным отображением проблемы не пойму как обратится к этой симетрии 

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

EKosarev

 почему удалил ? я посмотрел на работу программы, все как раз останавливается на том, что весь чертеж выделен и вот как теперь его зеркально отобразить
какие функции использовать?
я вот смотрю в SDK есть ksSymmetryObj, MirrorSymmetry еще что то связанное с макро, на форуме видел symmetryGroup 

в этой теме вот советуют эти функции
DrawTransform(doc) - трансформация объекта по матрице
DrawCopy(doc) - копирование объекта
DrawSymmetry(doc) - симметрия объекта.
 (как я понял что бы к ним обратится нужно библиотек к проекту подключить так как в SDK нет такого)

ksSymmetryObj чем не устраивает?
Пример Step5 посмотреть не судьба?
ksSymmetryObj.png

EKosarev

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

Ваша группа имеет указатель ноль, т.к. является выделенной.
Код покажите, что Вы делали.

EKosarev

ну вот я просто добавлял последнюю строчку, но проблема в том что группа у меня пустая получается и ему просто нечего зеркально отображать
  gr:=Document2D.ksNewGroup(1);
            Document2D.ksEndGroup;
           Document2D.ksSelectGroup(0,2,10E16,10E16,10E16,10E16) ;
          Document2D.ksAddObjGroup(gr,0);
             Document2D.ksSymmetryObj(gr,240,100,240,120,'1');