Jump to content

"Скачет" масштаб размерного стиля при экспортировании детали в DXF.


Recommended Posts

Неожиданно возникла проблема-не проблема, а непонятка. Некоторые детали сохраняю в dxf, для обработки на ЧПУ. Текущую пачку деталей отдали в новую контору, на новогодних праздниках они начали истерить, что детали в dxf в неправильном масштабе, они там что-то отмасштабировали, что-то не смогли, короче караул, все пропало. Глянул отосланный файлы - там все четко, все линии тех размеров, которые должны быть. А вот если начинать проставлять размеры (чем они, видимо, и занимались там, не знаю зачем), то размеры отображаются с масштабом, причем разным в разных деталях. Посмотрел размерные стили в этих dxf, действительно, масштаб там не 1, а всякий разный. Если его поменять на 1, то и размеры правильно начинают отображаться.

Задумался я крепко, каким образом в сохраненных dxf вообще масштаб размеров другой. На всякий случай во всех шаблонах чертежей поменял масштаб листа на 1:1 (был разный). Вроде новые dxf стали с правильными размерными стилями сохраняться. Вначале. Потом опять пошла свистопляска с масштабами. Я уже не знаю куда смотреть и что крутить, чтобы этого не было. В настройках сохранения dxf-dwg снял галку Сохранять в масштабе 1:1, не помоголо. Причем есть нюанс. Если сохранять через Сокранить как, там выбрать dxf, то масштаб размеров получается 1:1, я же сохраняю через макросы (разные), которые нашел на форуме, через них как раз и происходит свистопляска. Но вручную через Сохранить как устанешь каждый конфиг сохранять. Куда копать уже не понимаю.

Link to post
Share on other sites


UnPinned posts
Kelny
1 час назад, kkk сказал:

Куда копать уже не понимаю.

Так очевидно, ковырять: 

 

1 час назад, kkk сказал:

макросы (разные), которые нашел на форуме, через них как раз и происходит свистопляска.

 

Link to post
Share on other sites

Я их смотрел, ничего такого, что хоть каким-то образом указывало бы на масштаб там не видно. По крайней мере мне.

 

К примеру:

 

Sub main()

    Dim swApp                   As SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2
    Dim vConfNameArr            As Variant
    Dim sConfigName             As String
    Dim nStart                  As Single
    Dim i                       As Long
    Dim bShowConfig             As Boolean
    Dim bRebuild                As Boolean
    Dim bRet                    As Boolean
  

    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc

    vConfNameArr = swModel.GetConfigurationNames

    For i = 0 To UBound(vConfNameArr)

        sConfigName = vConfNameArr(i)

       
bShowConfig = swModel.ShowConfiguration2(sConfigName)

bRebuild = swModel.ForceRebuild3(False)

Dim FilePath As String
Dim PathSize As Long
Dim PathNoExtension As String
Dim NewFilePath As String

FilePath = swModel.GetPathName
PathSize = Strings.Len(FilePath)
PathNoExtension = Strings.Left(FilePath, PathSize - 7)

NewFilePath = PathNoExtension + "-" & sConfigName & ".DXF"

'Export Flat Pattern
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)

Next i

End Sub

 

Есть стойкое подозрение, что все это как-то завязано на форматку чертежа, вот только как...

Edited by kkk
Link to post
Share on other sites
Kelny
55 минут назад, kkk сказал:

...




'Export Flat Pattern
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)

...

Есть стойкое подозрение, что все это как-то завязано на форматку чертежа, вот только как...

Разве в приведённом куске кода экспорт не из модели? А при чём тут тогда шаблоны чертежей?

Помнится параметры экспорта сохраняются не к конкретному документу, а общие для системы, то есть нужно настроить один раз параметры экспорта и такие параметры должны применяься к последующим документам. Но соответсвенно настроить правильные параметры для экспорта как вам требуется.

 

55 минут назад, kkk сказал:

Я их смотрел, ничего такого, что хоть каким-то образом указывало бы на масштаб там не видно. По крайней мере мне.

Так в возможно как раз в этом проблема и код должен быть дополнен, что бы ставились/контролировались правильные галочки для экспорта, а не как фишка ляжет:

http://help.solidworks.com/2010/english/api/swconst/FileSaveAsDXFOptions.htm

Или самостоятельно настроить как правильно и только после этого использовать макрос.

 

3 часа назад, kkk сказал:

Задумался я крепко, каким образом в сохраненных dxf вообще масштаб размеров другой. На всякий случай во всех шаблонах чертежей поменял масштаб листа на 1:1 (был разный). Вроде новые dxf стали с правильными размерными стилями сохраняться.

Так экспорт в DXF из чертежа или из модели?

Edited by Kelny
Link to post
Share on other sites
Sturmann
1 час назад, Kelny сказал:

Разве в приведённом куске кода экспорт не из модели? А при чём тут тогда шаблоны чертежей?

Помнится параметры экспорта сохраняются не к конкретному документу, а общие для системы, то есть нужно настроить один раз параметры экспорта и такие параметры должны применяься к последующим документам. Но соответсвенно настроить правильные параметры для экспорта как вам требуется.

 

Так в возможно как раз в этом проблема и код должен быть дополнен, что бы ставились/контролировались правильные галочки для экспорта, а не как фишка ляжет:

http://help.solidworks.com/2010/english/api/swconst/FileSaveAsDXFOptions.htm

Или самостоятельно настроить как правильно и только после этого использовать макрос.

 

Так экспорт в DXF из чертежа или из модели?

Какая то странная история. В коде экспорт из модели, а масштаб меняют в чертеже. 

Link to post
Share on other sites
2 часа назад, Kelny сказал:

Разве в приведённом куске кода экспорт не из модели?

Из модели.

 

2 часа назад, Kelny сказал:

А при чём тут тогда шаблоны чертежей?

При том, что есть ощущение, что при экспорте модели в dxf, св сначала создает некий чертеж, куда кидает модель, потом этот чертеж сохраняет в dxf. Косвенным фактом этого служат различные признаки, один из них, что я просто включил запись макроса, сохранил модель в dxf и в записанном макросе есть прямая ссылка на шаблон чертежа: Set Part = swApp.NewDocument("C:\Users\...\А3-А.drwdot", 0, 0, 0)

2 часа назад, Kelny сказал:

Помнится параметры экспорта сохраняются не к конкретному документу, а общие для системы, то есть нужно настроить один раз параметры экспорта и такие параметры должны применяься к последующим документам. Но соответсвенно настроить правильные параметры для экспорта как вам требуется.

1. Я не нашел таких параметров, в частности масштаб размерных стилей или чего-то похожего.

2. Параметры сохранения настроены неким образом и не меняются. При этом при сохранении в dxf масштаб размерных стилей произвольно меняется.

 

2 часа назад, Kelny сказал:

Так экспорт в DXF из чертежа или из модели?

 

См. выше.

 

54 минуты назад, Sturmann сказал:

Какая то странная история. В коде экспорт из модели, а масштаб меняют в чертеже. 

 

См. выше.

Link to post
Share on other sites

Собственно моя теория полностью подтвердилась. Порылся в интернетах и нашел обсуждение, где Deepak Gupta (известный макросописатель) прямо говорит, что при экспорте МОДЕЛИ в dxf создается промежуточный ЧЕРТЕЖ, и уже этот чертеж сохраняется в dxf.

Link to post
Share on other sites

Покопался еще с этим сохранением и выяснилась удивительная вещь - файл dxf принимает масштаб ПОСЛЕДНЕГО открытого чертежа. Любого чертежа, совершенно не обязательно этой детали. Т.е. можно сохранять одну и ту же деталь, в промежутках открывать разные чертежи с разными масштабами и на выходе будем получать dxf с разными масштабами. Мдаааа....

 

Тут Гупта привел пример макроса, для временной подмены шаблона чертежа (специального, с масштабом 1:1, только для сохранения dxf). Там надо ветку раскрыть. Я еще не пробовал.

 

Edited by kkk
Link to post
Share on other sites
Snake 60

@kkk Мой макрос не пробовали? там применяется другой метод сохранения (ссылка в подписи)

Многие пользуются, никогда не было проблем с масштабом. Или макрос Артема (Xarial) пакетного сохранения dxf из сборки - тоже отличный,  рабочий, макрос.

Link to post
Share on other sites
2 часа назад, Snake 60 сказал:

ссылка в подписи

Нельзя ли ссылку продублировать, а то я никаких подписей не вижу. Толи отключил как-то когда-то, то ли еще что.

2 часа назад, Snake 60 сказал:

Или макрос Артема (Xarial) пакетного сохранения dxf из сборки

Попробую, но мне не нужно пакетно, максимум все конфиги конкретной детали.

Edited by kkk
Link to post
Share on other sites
Slavdos

настройте шаблон чертежа. его откройте. сохранить как- dxf- параметры .

шаблон дб один и путь в настройках один.

Link to post
Share on other sites
3 часа назад, Slavdos сказал:

настройте шаблон чертежа. его откройте. сохранить как- dxf- параметры .

шаблон дб один и путь в настройках один.

Не знаю, я не понимаю логику работы Солида. Сделал шаблон чертежа, удалил оттуда Основную надпись, все примечания и т.д., т..е. чистый лист с масштабом 1:1 (как Гупта советовал в беседе, что я прикладывал выше), поставил этот чертеж как Шаблон по-умолчанию. Сохранил этот чертеж как dxf (пробовал в настройках сохранения ставить и снимать галку масштаба 1:1 - не влияет на результат). После чего сохранил свою деталь в dxf - масштаб корректный, 1:1. После чего открыл и сохранил произвольный чертеж, снова сохранил в dxf тут же деталь - масштаб уже последнего открытого чертежа.

Link to post
Share on other sites
Snake 60

Блин, ссылку обрезало. 5я или 6я страница. ЗЫ не люблю сидеть в инете с телефона :bash:

Link to post
Share on other sites
25.01.2022 в 11:51, Slavdos сказал:

у вас шаблон прописан в настройках? один?

Прописан. Один. Два там не поставишь. :smile:

25.01.2022 в 12:24, Snake 60 сказал:

Ссылка на крайнюю версию макроса

Спасибо, пороюсь еще раз. Я тут стал изучать смежные темы, там, оказывается, у людей сходные проблемы.

Link to post
Share on other sites
Sturmann
2 часа назад, kkk сказал:

Прописан. Один. Два там не поставишь. :smile:

Спасибо, пороюсь еще раз. Я тут стал изучать смежные темы, там, оказывается, у людей сходные проблемы.

Не понимаю вашей проблемы - я каждый проект сохраняю контура в dxf и там всё нормально. Если ставить размер и использовать измерить ( в автокад) то эти значения всегда совпадают. 

Тут наверное вопрос в вашем понимании процесса и правильности выполнения операции. 

Link to post
Share on other sites
5 часов назад, Sturmann сказал:

Тут наверное вопрос в вашем понимании процесса и правильности выполнения операции. 

Расшифруйте. Я даже затрудняюсь придумать неправильный способ нажатия на кнопку макроса.

Link to post
Share on other sites
Snake 60
8 часов назад, kkk сказал:

Спасибо, пороюсь еще раз. Я тут стал изучать смежные темы, там, оказывается, у людей сходные проблемы.

Все эти проблемы из-за сохранение через шаблон чертежа. Зачем это делать, если идеально всё сохраняется напрямую из модели. Вот прямая ссылка на мой макрос. Попробуйте, если возникнут вопросы - пишите, постараюсь помочь.

Link to post
Share on other sites
Sturmann
7 часов назад, kkk сказал:

Расшифруйте. Я даже затрудняюсь придумать неправильный способ нажатия на кнопку макроса.

Нажатия на кнопку? Нееееет, тут дело не в нажатиях) 

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

 

А макрос кто делал? Как он работает? Что он делает в конкретный момент? 

Почему получается такой результат какой получается? 

Всё ли я правильно делаю? 

Вот какие вопросы вы должны себе задать! 

 

А вы скачали какой то макрос решили что знаете как его использовать потому что у вас опыта 20 лет, а он работает по какому то другому принципу. Может даже его автор не знает что там какая-нибудь ошибка или неточность. 

 

Тут много людей которые пишут макросы макрорекордером а потом удивляются почему он не работает! 

 

Я могу подсказать в чем может быть причина: потому что сам с этим столкнулся при разработке программы подготовки dxf. 

Кстати вас устраивает тот функционал макроса которым вы пользуетесь? Уверен что вы хотите изменить его в сторону информативности и быстрты работы. У меня есть такая программа. 

И в dxf файлы переводит и детали проверяет и конфигурации понимает. 

Интересно? 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...