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

Вывод свойства на чертеж


stest6905

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

Здравствуйте.

У меня есть заполненные поля свойства документа. мне нужно вывести на чертеж конкретный пункт (допустим "test"). Подскажите как я могу это вывести используя макрос (не всегда данный параметр нужен)?

Спасибо. 

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


UnPinned posts

по аналогии с другими свойствами как выводишь "обозначение " или "наименование" так и свойство любое.

 

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

А хотел сделать по аналогии с таким:

$PRP:"SW-File Name" ->- $PRP:"ttt"

но я не знаю как в макросе вызвать данные параметры... 

 

3 минуты назад, malvi.dp сказал:

Записать в заметке, сохранить в часто используемых и вставлять когда нужно

Этот параметр считается для каждой детали, это не статический текст...

6 минут назад, Maik812 сказал:

по аналогии с другими свойствами как выводишь "обозначение " или "наименование" так и свойство любое.

 

К сожалению у меня мало опыта в работе с VBA, по этому и обратился сюда... 

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

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

 

 

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

Этот параметр считается для каждой детали, это не статический текст..

В заметку нужно ввести текст типа: $PRPSHEET:"Имя нужного св-ва модели" и когда это св-во изменится в модели, в чертеже тоже произойдет  его изменение без всяких макросов

Если же это св-во чертежа, тогда $PRP:"Имя нужного св-ва чертежа"

Изменено пользователем malvi.dp
Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, malvi.dp сказал:

В заметку нужно ввести текст типа: $PRPSHEET:"Имя нужного св-ва модели" и когда это св-во изменится в модели, в чертеже тоже произойдет  его изменение без всяких макросов

Если же это св-во чертежа, тогда $PRP:"Имя нужного св-ва чертежа"

За ответ спасибо. Данной особенности я не знал, использую также в своих целях!

 

Мне все таки нужно чтобы этот параметр был доступен в скрипте так как я произвожу вычисления...

В интернете я нашел кусок кода который может показать значение параметра который меня интересует но почему то он ничего не отображает...

Dim swApp As Object

Dim instance As ICustomPropertyManager
Dim FieldName As String
Dim UseCached As Boolean
Dim ValOut As String
Dim ResolvedValOut As String
Dim wasResolved As Boolean
Dim value As Integer

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
          
value = instance.Get5("test", UseCached, ValOut, ResolvedValOut, wasResolved)

End Sub

 

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

есть заполненные поля свойства документа. мне нужно вывести на чертеж конкретный пункт (допустим "test")

не подойдёт?

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

Я его запускаю и ничего не происходит... Если пройти пошагово то эти пункты пустые... 

Debug.Print " " & swNote.GetName
Debug.Print " " & swNote.GetText <- Вот функция которая получает текст заметки, его тебе и надо проверять.

Плюс я не знаю где смотреть результат (как я понимаю должен где-то быть лог происходящего в скрипте по действию "Debug.Print")

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

Плюс я не знаю где смотреть результат (как я понимаю должен где-то быть лог происходящего в скрипте по действию "Debug.Print")

Нажми здесь в редакторе

Imm_window.png

 

В этой ветке знающие люди быстрее ответят )

 

14 минут назад, stest6905 сказал:

Я его запускаю и ничего не происходит... Если пройти пошагово то эти пункты пустые.

Да, сам макрос, вроде к заметкам чертежа, а не к свойствам

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

Нажми здесь в редакторе

Спасибо!!!

Запустил но параметра по которому хочу сделать поиск не отображается... Как фильтровать?

Screenshot-1.png 

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

 

4 часа назад, stest6905 сказал:

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

Спойлер

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim swModelDocExt As ModelDocExtension
Dim swCustProp As CustomPropertyManager
Dim val As String
Dim valout As String
Dim bool As Boolean
Dim myNote As Object

Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager("")
bool = swCustProp.Get6("ttt", False, valout, val, False, False)
Set myNote = swModel.InsertNote(valout)
End Sub

Солид не старше 2018, добавляет заметку в чертёж (туда, куда ткнул курсором) с текстом из свойства ttt

взял куски кода из справки солида и немного отсюда 

 

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

Солид не старше 2018, добавляет заметку в чертёж (туда, куда ткнул курсором) с текстом из свойства ttt

взял куски кода из справки солида и немного отсюда 

У меня 2015... Ругается на строку

bool = swCustProp.Get6("ttt", False, valout, val, False, False)
Цитата

"Runtime error '438' object doesn't support this property or method"

Буду изучать. Пока спасибо за информацию

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

У меня 2015... Ругается на строку

поменяй на 

bool = swCustProp.Get4("ttt", False, val, valout)

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

поменяй на 

bool = swCustProp.Get4("ttt", False, val, valout)

Заработало! Спасибо еще раз.

В процессе работы возник другой вопрос:

-как можно вставить полученные данные в свойства с параметром "ttt2"?  

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

-как можно вставить полученные данные в свойства с параметром "ttt2"?  

А ttt2 уже есть в свойствах документа? Просто солид может и создавать и перезаписывать/не перезаписывать существующее свойство

Добавь строчку 

bool = swCustProp.Add2("ttt2", 30, valout)
 

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

А ttt2 уже есть в свойствах документа? Просто солид может и создавать и перезаписывать/не перезаписывать существующее свойство

Есть но оно пустое, макрос по выполнению операций может записать (перезаписать) результат

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

Есть но оно пустое, макрос по выполнению операций может записать (перезаписать) результат

Тогда такую

bool = swCustProp.Set2("ttt2", valout)

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

Тогда такую

bool = swCustProp.Set2("ttt2", valout)

Протестировал все работает, спасибо!!!

Ссылка на сообщение
Поделиться на других сайтах
В 02.11.2020 в 14:53, stest6905 сказал:

Запустил но параметра по которому хочу сделать поиск не отображается... Как фильтровать?

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

Да и и готовый макрос можно было выложить людям....

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
    • Jesse
      Вот что у Биргера: Центробежные силы и индуцированный гироскопический момент зависят от квадрата частоты вращения вала   Хотя уже сама критическая частота зависит только от момента инерции колеса (альфа, бэта, гамма - это прогибы, углы поворота и прочая шелуха), т.е. частота вращения в формулу не входит, а всё определяется только моментом инерции Jm Ну у него рассматривается простая одномассовая система (фактически грузик на пружинке). Думаю поискать публикации.. мб где то раскопали аналитическую зависимость первой и высшей СЧ от частоты вращения для сложных систем. Хотя если выяснится что зависит,  всё равно обоснование придумывать придётся.  Эхх...
    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
    • Jesse
      4000 об/мин при наружном диаметре колеса 380 мм. Думаете, на больших оборотах вилка всё равно может разойтись и могут появиться гироскопические эффекты? Даже несмотря на вышеприведенные массово-инерционные оценки и расположение опор?   да я влияние престресс (вращение) особо не увидел... Думал обычным модальником прогнать, Ланцошом (он пошустрее).   Ещё мои раздумья направлены в сторону присоединённой массы воды, что по идее должно занижать частоты. Хотя для такого массивного вала как у меня даже на это дело можно забить, наверно...
    • Handrusik
      Maxx2000 - благодарю Павлуха - это не фриланс Утомлённый солнцем - приятно, что меня помнят
    • Борман
      Я так понимаю, что обороты не особо большие. ДК - это чисто высокооборотистая тема.   Просто мысли вслух... Если вилка будет сильно расходится, то всегда будет точка пересечения любого луча с кривой BW. Причем точка будет на меньших оборотах по сравнению с обычным престресс-модальником. Какие дальше действия ? С чем тут нужно дополнительно бороться по сравнению с тем, с чем нужно было бы бороться по результатам обычного престресс-модальника Если вилка не сильно расходится (от кривой обычного престресс-мобальника), то смысла стоить строгую ДК большого нет.    
    • boomeeeer
      На сименсе параметрами настраивается многое, что связано с менеджером иснструмента. Вызов возможен как по номерам, так и по именам инструментов. Через равно вроде как по имени вызывается (Т="имя"), а по номеру можно было, например, Т1 M6, а первый корректор подтянулся бы автоматически. И не всегда М6 на смену. Производитель мог нагородить чего угодно. Параметры надо смотреть
    • Den4ik85
      P.S этой ошибки не было при запуске,она возникла при выполнении команды смены инструмента "T=.." d1m6. (так учили на курсах) возможно,не тот номер ввел или не соответствовало название инструмента его номеру?
    • boomeeeer
      @Den4ik85 Подключаться к контроллеру и искать цепочку формирования сигнала ошибки DB2.DBX183.0. Возможно один из индуктивных датчиков на подсчёт ячеек магазина вышел из строя
×
×
  • Создать...