Сделать систему согласования всех сущностей из файла STEP up-z - PullRequest
0 голосов
/ 29 июня 2018

перейти Сущности файла STEP UpdateOrientedBoundingBox

В SolidWorks они строят сборку из множества деталей. Каждая часть имеет собственную систему координации. когда они собирают все детали в сборку, и каждая деталь может вращаться. тогда не все объекты - это Up-z, возможно, некоторые объекты - это Up-y, некоторые объекты - это Up-x. когда я экспортирую на шаг (AP214), эти атрибуты зарезервированы. Я загружаю шаг в окно просмотра, я хочу, чтобы все объекты были Up-z. затем я вызываю translate(0,0,1000), что, по моему мнению, энтиты будут двигаться вверх, а не влево.

1 Ответ

0 голосов
/ 03 июля 2018

В Solidworks нет такой вещи, как UpZ или UpX. Все в порядке.

При сборке все детали либо позиционируются вручную, либо с помощью сопряжений (99% времени). Этот процесс будет почти все время вращать и переводить деталь.

При экспорте в Step или Iges (2 основных формата экспорта, которые может использовать Eyeshot). Вся геометрия, сгенерированная в этих файлах, не содержит исходную матрицу. Если вы посмотрите на вершину детали, то увидите, что вершина Mesh расположена относительно мира, а не внутренней матрицы.

Это, как говорится, если вы переберите все объекты в окне просмотра и переведете каждую из них в Z, они ВСЕ будут двигаться в одном направлении.

Чтобы сохранить окончательную матрицу, принцип довольно прост, так как я уже сделал это, но вам нужно знать свой путь вокруг Solidworks API. Вам нужно создать Solidworks Addin и добавить кнопку или меню в Solidworks. Затем, когда вы что-то кодируете, вы экспортируете каждую деталь по отдельности в шаг, который сохранит свое первоначальное вращение, прежде чем будет изменен в сборку. Если у вас есть 10 деталей, у вас должно получиться 10 Step файлов, если одна и та же деталь не используется много раз в сборке, тогда у вас будет меньше.

Наконец, вам нужно использовать сборку, чтобы получить матрицу каждой детали в сборке и создать некоторый файл с ассоциацией от PartName до Matrix, чтобы у вас были все детали.

Когда вы доберетесь до Eyeshot, все, что вам нужно сделать, это загрузить соответствующий шаг и применить матрицу, сохраненную в файле. Затем, если вы хотите переместить все относительно их собственной оси Z, вы просто создаете вектор Z с требуемым смещением, т. Е. (0, 0, 1000), и преобразовываете этот вектор в одну из матрицы деталей, а затем переводите эту же деталь в преобразованный вектор. И, наконец, вы повторяете один и тот же процесс для каждой части.

Добавление этой части с более понятным пошаговым описанием процесса получения реальной матрицы:

  1. Открыть Solidworks
  2. Откройте интересующую вас сборку (what.sldasm)
  3. Нажмите кнопку или меню, которое вы создали с помощью API
  4. Возьмите часть сборки и откройте ее (т.е. part1.sldprt)
  5. Экспорт в Step как part1.step
  6. закрыть документ детали и вернуться к документу сборки, все еще открытому
  7. получить матрицу part1.sldprt и сохранить ее в текстовом файле, чтобы вы могли прочитать ее позже
  8. повторяйте шаги с 4 по 7, пока все части не будут выполнены
  9. в поле зрения откройте каждую часть Step файлов и преобразуйте блок по матрице в текстовом файле.
  10. все сделано
...