Сделать систему координации всех сущностей файла STEP up-z

перейдите на объекты файла STEP UpdateOrientedBoundingBox

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


person Hsin Hsien-Huang    schedule 29.06.2018    source источник


Ответы (1)


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

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

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

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

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

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

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

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

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