Перейти к публикации

значения переменных в макросе из 3d модели


алексей556

Рекомендованные сообщения

5 минут назад, Kir95 сказал:

У вас свойство CNCKad прописано заранее? И вы в свойствах Конфигурации вручную или макросом заполняете значение Сортамент и Толщина, получаете значение  CNCKad, затем хотите запустить макрос, который бы активный файл "Деталь1_00" сохранил под именем "Деталь1_00 Оцинковка-2мм" в папку детали? То есть "Имя файла+CNCKad"? Версия солида какая?

Сортамент и толщина заполняются макросами. Файл у меня остается с прежним названием.  НО, ЭКСПОРТ dft и dxf файлов произойдет в файл "Деталь1_Оцинковка-2мм_00.dxf" (dft). Экспорт идет через cad link с использованием штатной настройки.

Свойство CNCKad хочу создавать макросом, тк cad link берет не значение свойства, а текст свойства.

Изменено пользователем Solan
не дописал
Ссылка на сообщение
Поделиться на других сайтах


12 часа назад, Solan сказал:

Сортамент и толщина заполняются макросами

Если из списка вырезов, так и создавайте этим же макросом свойство CNCKad с объединением значений Сортамент и Толщина граничной рамки (может по другому называться, посмотрите в своём макросе), вот пример (работает, начиная с 12 версии солида):

Sub main()
    Dim swApp               As SldWorks.SldWorks
    Dim swModel             As SldWorks.ModelDoc2
    Dim swFeat              As SldWorks.Feature
    Dim swCustPropMgr       As SldWorks.CustomPropertyManager
    Dim strValue(3)         As String
    Dim swBodyFolder        As SldWorks.BodyFolder


          
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swFeat = swModel.FirstFeature

    
    swModel.ForceRebuild3 True
    
    Do While Not swFeat Is Nothing
    
        If swFeat.GetTypeName = "SolidBodyFolder" Or swFeat.GetTypeName = "CutListFolder" Or swFeat.GetTypeName = "SubWeldFolder" Then
        Set swBodyFolder = swFeat.GetSpecificFeature2
        swBodyFolder.UpdateCutList
                
            If UCase(swFeat.Name) Like "*" Then
                    swFeat.CustomPropertyManager.Get2 "Толщина граничной рамки", strValue(0), strValue(1)
                    swFeat.CustomPropertyManager.Get2 "Сортамент", strValue(2), strValue(3)

            End If
            
        End If
        
    Set swFeat = swFeat.GetNextFeature
    Loop
    
Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
    swCustPropMgr.Add2 "CNCKad", strValue(3) & "-" & strValue(1) & "мм"

End Sub

По такому же принципу можете создать своё свойство со значениями из свойств файла, а не списка вырезов.

Ссылка на сообщение
Поделиться на других сайтах

забыл в предпоследнюю строчку тип поля добавить, вот так нужно:

swCustPropMgr.Add2 "CNCKad", 30, strValue(3) & "-" & strValue(1) & "мм"

 

Ссылка на сообщение
Поделиться на других сайтах

@Kir95 Вставил код в существующий макрос, работает. Спасибо.

Но столкнулся с такой бякой - при изменении толщины или сортамента для обновления значения в свойствах файла необходимо было удалять свойство (новое значение не присваивалось)

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Solan сказал:

Но столкнулся с такой бякой - при изменении толщины или сортамента для обновления значения в свойствах файла необходимо было удалять свойство (новое значение не присваивалось)

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

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Solan сказал:

необходимо было удалять свойство

Не надо

swCustPropMgr.Add3 "CNCKad", swCustomInfoText, strValue(3) & "-" & strValue(1) & "мм", swCustomPropertyDeleteAndAdd

 

Или даже лучше по правилам:

Dim retResult As swCustomInfoAddResult_e
retResult = swCustPropMgr.Add3("CNCKad", swCustomInfoText, strValue(3) & "-" & strValue(1) & "мм", swCustomPropertyDeleteAndAdd)

А то блин сплошной текст выше, а не метод.

Изменено пользователем streamdown
Ссылка на сообщение
Поделиться на других сайтах
В ‎27‎.‎01‎.‎2018 в 23:12, Solan сказал:

Версия солида какая?

-не ответил.

Add3, в 2014 солиде, вроде бы появился, может не сработать в более ранних версиях, я так понимаю.

Если свойство есть в шаблоне детали, тогда удобней поставить swCustomPropertyReplaceValue или 2,

тогда порядок строчек в свойствах не нарушается, удобнее просматривать. Но это, если свойств много и дело личное, как говорится.

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Kir95 сказал:

не ответил.

Сорри... SW 2017sp3 и на на второй машинке sp5. 

Ребят, спасибо. Завтра не смогу обкатать - буду в Москве. Опробую в среду.

Ссылка на сообщение
Поделиться на других сайтах

@streamdown , @Kir95 , @Kelny

Заработало обновление свойства только с swCustomPropertyReplaceValue.

С swCustomPropertyDeleteAndAdd не смог добиться обновления свойства.

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Anatlijj8
      Добрый день. Скажите сразу встроенная в солидворкс какая версия идёт?  Скажите как-то можно где-то скачать версию про?
    • Lev72rus
      Есть ли более свежая ссылка на видео? Похожая беда сейчас
    • bard
      Странно, как-то. Кто Вам разрешит отгружать изделия (не важно) какие по безлитерной документации? Кто Вам разрешит использовать в литерованном изделии безлитерные части? Если Вы приняли неверные технические решения, как Вы про это узнаете не проведя испытания?
    • vad0000
      Не важно, Не нужен output при зелёной и красной кнопки.
    • ispite
      Всем привет, спасибо за ответы, но просто так не удалось создать сборку, солид выдавал ошибку. Пришлось Сохранить как IGES (файл разросся до 920 МБ), потом открыл как деталь (в нейстало шустрее работать), нажал "создать сборку" и она создалась! НО она создалась без поверхностей, а они тоже нужны Всем привет, спасибо за ответы, но просто так не удалось создать сборку, солид выдавал ошибку. Пришлось Сохранить как IGES (файл разросся до 920 МБ), потом открыл как деталь (в ней появились Тела и Поверхности и стало шустрее работать), нажал "создать сборку" и она создалась! НО она создалась без поверхностей, а они тоже нужны. Как создать сборку с телами и поверхностями? Пробовал в детали сохранить поверхности, но оно как будто работает наоборот и все поверхности стирает.  PS удалите плз предыдущий ответ, я его случайно отправил.
    • Alexey8107
      Всем доброго дня. Имеется ивановский обрабатывающий центр ИС-800, в нем установлены: PSM-45HVi A06B-6120-H045 SPM-30HVi A06B-6121-H030#H550 Возникла авария 9030 Overcurrent in the converter input circuit. Если смотреть В-65285 в этом случае на PSM должна отображаться 1, а на SPM - 30. Так оно и есть на самом деле. Документ ссылается на пункт 3.1.1, в свою очередь этот пункт говорит о неисправности PSM и следует проверить Входящее питание. Скорее всего здесь имеется ввиду питание управления, оно 240 В и стабильно Рекомендуют проверить реактор. Сразу откидываем, т.к. дело до включения силового питания еще даже не доходит, МСС отключен. Да и реактор штатный, всю жизнь работал с этим реактором. Проверить IGBT. Проверить проверил как мог, на КЗ, но дело до силовухи еще не доходит, ее питания еще нет и физически включиться не может из за MCC(ну это естественно, блок в аварии). Принципиально все рекомендации. На LEADWELL была похожая ситуация, на торможении шпинделя на PSM помнится выпадала авария 1, а на шпинделе не помню уже что. Тоже думали на PSM, а судя по всему мозг вынимал рекуператор в SPM. Т.к. на шине 500 вольт на торможении шпинделя напряжение вылетало далеко за 500 вольт выше. Здесь тоже нечто подобное, SPM опрокидывает PSM в аварию. Вобщем при включении питания станка, запитывается только управление на PSM, а он в свою очередь раздает 24 вольта на все остальные блоки по CXA2A, если все нормально и ЧПУ включена, замыкается контакт МСС, разрешая подачу силового питания на PSM. Шаги загрузки на полностью исправном станке PSM    SPM   -          A   -         50   -         12(или 18)   -         -- После включения ЧПУ и подачи силового питания   0         0 У нас PSM    SPM   -          A   -         50   -         12(или 18)   1         30 Включение силовухи невозможно. Что было сделано: 1. Проверены все питания, 240 СХ1А, 24 СХА2А, силовое питание, везде порядок. 2. Проверены IGBT на PSM и SPM, явного замыкания нет. 3. Проверены обмотки серво двигателя шпинделя. На всех 0,4 ома(сопротивление щупов 0,2 + обмотки 0,2 ома). Сравнил с заведомо исправным таким же двигателем(он стоит в другом таком же станке и работает), все тоже самое, На массу КЗ нет. Да и силовухи тоже нет, так что это бессмысленно. 4. Откинул от PSM разъем СХА2А(тупо обесточил остальные блоки от 24 вольт), включил питание управления, PSM перестал опрокидываться в ошибку, на дисплее "-". Ждал долго, не опрокидывается. Силовое питание подавать не стал, ибо чревато для остальных блоков, а скидывать шинку постоянного тока честно говоря поленился. 5. С соседнего станка снял плату управления SPM и переставил в неисправный станок, по номерам они идентичные. Станок включился и даже подал силовое питание на PSM без всяких аварий. Гонял пару минут в холостую, все было нормально, но после опрокинулся с той же ошибкой 1 и 30 на PSM и SPM соответственно. 6. Взял плату управления SPM с неисправного станка и установил в исправный. Станок включился и сколько бы не гонял, и даже шпинделем крутил, не опрокидывается. Т.е. к обоим платам претензий ноль. После вернул все обратно. Исправный станок работает как ни в чем не бывало, неисправный сразу опрокидывается в аварию почти сразу после включения управляющего питания. На ЧПУ ошибка 9030 и какие то еще по осям, но они связаны с отсутствием питания на шине постоянного тока если не ошибаюсь, так что это нормально. Итого, силовуха явных признаков неисправности не имеет, и даже на какое то время с другой платой включает силовое питание(скорее всего это связано с разбросом параметров защит на разных платах). К самому PSM тоже вроде претензий не должно быть, хотя В-65285 указывает именно на него. В истории с LEADWELL точно помню, что тоже все указывало на PSM(в том числе 1 на дисплее), и даже сервисный инженер FANUC был уверен в неисправности именно PSM. По факту, неисправен был как раз SPM. К платам управления тоже никаких претензий, обе работают в исправном станке. Единственное логическое объяснение, неисправность силовухи SPM. НО!!! Шина постоянного тока даже не думает запитываться, так что и тут с опрокидыванием сразу после включения есть засада! Ну не тестирует же SPM и PSM силовую часть напряжением 24 вольта??? Ведь до включения силового питания в этом случае даже не доходит из-за аварии! Может у кого есть еще идеи или опыт устранения таких дефектов? Помнится у фанука была типовуха на платах А16В-2203-0623 с датчиками тока, они отгорали и привод отваливался в аварию по одной из фаз. Это были привода шпинделя и двух осей в одном корпусе, были такие у нас на токарных. Сервисники фанука тогда их тучами меняли... Хотя тут я думаю не наш случай
    • Kelny
      Даже при всём при этом оно не всегда корректно работало, так что даже в старых версиях было быстрее удалить размер и потом вставить заново, чем искать эти точки размеров, а потом пытаться их привязать к новому месту.   Возможно это всего лишь глюк новой версии, в последних версиях они похоже штатно закладываются.
    • maxx2000
      @davidovka я их сразу ссыпаю в TEMP,  в тех что живы нет отметок о создании current_session.pro. Интересно что сам current_session.pro создаётся, но не обновляется дата в отличии от даты модели. Может быть и вправду менял какие нить настройки и забывал сохранить
    • Ahito
    • maxx2000
      т.е. доверять разработчикам оснований нет. Ясно-понятно
×
×
  • Создать...