В 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), и преобразовываете этот вектор в одну из матрицы деталей, а затем переводите эту же деталь в преобразованный вектор. И, наконец, вы повторяете один и тот же процесс для каждой части.
Добавление этой части с более понятным пошаговым описанием процесса получения реальной матрицы:
- Открыть
Solidworks
- Откройте интересующую вас сборку (what.sldasm)
- Нажмите кнопку или меню, которое вы создали с помощью API
- Возьмите часть сборки и откройте ее (т.е. part1.sldprt)
- Экспорт в
Step
как part1.step
- закрыть документ детали и вернуться к документу сборки, все еще открытому
- получить матрицу part1.sldprt и сохранить ее в текстовом файле, чтобы вы могли прочитать ее позже
- повторяйте шаги с 4 по 7, пока все части не будут выполнены
- в поле зрения откройте каждую часть
Step
файлов и преобразуйте блок по матрице в текстовом файле.
- все сделано