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

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

Solidworks 2015. Новости для тех, кто в теме:

- Теперь third-party data можно читать только с помощью API SW.

- Ключ для Document Manager теперь нужно будет обновлять каждый год. Ключ будет распространяться только на те участки API, которые вы затребуете.

- Solidworks 2015 написан на VS 2012 SP4.

- Теперь не будут создаваться менюшки в top-level. Всё будет помещаться в подменюхи Tools.

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


...

- Ключ для Document Manager теперь нужно будет обновлять каждый год. Ключ будет распространяться только на те участки API, которые вы затребуете.

...

Зря они это сделали... :sad:

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

Как программно получить метку вида (например местный вид "А(2:1)" ) как объект и как текст, если на виде ещё куча дополнительных аннотаций?

Есть такая штука как GetUniqueName(), но она возвращает метку из дерева т.е "местный вид А (2:1)", мне же хочется ту метку, что прикреплена к виду т.е "А (2:1)"

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

Сам нашёл.

String sNoteText = swNote.PropertyLinkedText;
       if (sNoteText.Contains("VLNAME"))
          {
              //.......
          }
Ссылка на сообщение
Поделиться на других сайтах

Давно, очень давно никто не выкладывал свежачка)))

Решил тут воплотить идею вставки номера листа к виду. Сделал пока к местному виду. Есть затык, подсобите люди знающие, как найти нижний правый угол метки вида. В данном случае метка выносного вида (та, которая на втором листе "S(1)").

GetTextPositionAtIndex всегда возвращает одно и то же число. Написал методу как по учебнику))

 private Double[] GetDownRightCorner(Note swNote)
        {
            Annotation swAnn = swNote.GetAnnotation();
            Double[] UpperLeftCorner = swAnn.GetPosition();
            Double[] UpperRightCorner = swNote.GetUpperRight();
            Double Height = swNote.GetHeight();
            return new double[]{UpperRightCorner[0]+0.002, UpperRightCorner[1],UpperRightCorner[2]};
        }

 

 

То же самое, одно и то же число, если метку вида передвинуть.

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

И снова сам... всё сам  :sad:

Для того, чтобы найти метку вида, нужно просто получить первый INote для вида. Для того, чтобы словить GetUpperRight(), нужно обязок выделить эту заметку. Выделять нужно через IAnnotation. Фи, как заморочено сделано.

 

Текст метки вида так и не удалось получить, если кто подскажет, буду очень благодарен. Сам пошёл другим (менее качественным путём).

 

Пока для местных видов на разных листах - работает.

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

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

Есть ли какая информация по SWE-PDM API

В идеале с рабочими примерами.

или хотя бы ссылка на начальную литературу

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

Удалено!

Причина - нет ответа.

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

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

Подскажите, как реализовать в макросе чтение толщины листового металла в активной конфигурации, что бы затем это значение присвоить переменной (для примера это переменная "th")?.

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

Давно заинтересовавший меня вопрос, наконец то мной решён

Как прочитать свойства материала со вкладки "Настройка".

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

Добрый день. Пишу небольшую програмку на VBA.


Помогите решить следующую проблему. Есть многотельная деталь (где-то 10 тел), требуется выделить конкретную деталь (это не сложно) и переименовать в конкретное имя (вот это не получается).


Спасибо

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

В детали выделяете деталь при наличии 10 тел? :blink:

Вам имя тела надо что-ли переименовать?

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

В детали выделяете деталь при наличии 10 тел? Вам имя тела надо что-ли переименовать?

 

Прошу прощения что не отвечал, т.к. следил не за той темой.

 

Да многотельная деталь из 6-10 тел всегда по разному.

Выделяю тело при помощи boolstatus = Part.Extension.SelectByID2("", "SOLIDBODY", 0, 0, 0, False, 0, Nothing, 0) используя только координаты поверхности тела (координаты всегда известны), не используя название тела, которое всегда разное.

Так вот, выделил тело и его нужно переименовать в строго определенное названия. Для конкретного тела конкретное имя.

post-36106-0-18798700-1413782998_thumb.jpg

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

Доброй ночи Господа.

Ломаю голову уже не один день.

С помощью Макроса в СБОРКЕ надо присвоить материалл ТВЕРДОМУ ТЕЛУ

От справки Solida глаза на выкоте

Прикрепляю файлы до чего дошел :wallbash:  

 Просьба обьяснить по подробнее

Заранее благодарен

VBA.rar

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

Доброго времени суток.

Большое спасибо за ответы  :smile:

Выкладываю макрос. Заменяет или Назначает Материал с Базы Солида по выбору Твердого тела и имени его. Окна выбора не добавлял .Каждый на свой вкус их добавит.

 

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swAssem As SldWorks.AssemblyDoc

Dim swPart As SldWorks.PartDoc

Dim swBody As SldWorks.Body2

Dim boolstat As Boolean

Dim BodyMaterialError As Long

Dim CompAssem As Variant

Dim ArrCompAssem As Variant

Dim Bodies As Variant

Dim BazaMat As String

Dim NameMat As String

Dim i As Integer

Dim Telo As String

Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

BazaMat = "solidworks materials.sldmat"

NameMat = "Бальса"
Telo = "Бобышка -Вытянуть2"
'====================================================================

If swModel.GetType = swDocASSEMBLY Then

Set swAssem = swModel

ArrCompAssem = swAssem.GetComponents(False)

For Each CompAssem In ArrCompAssem

Set swModel = CompAssem.GetModelDoc2()

If swModel.GetType = swDocPART Then

Set swPart = swModel

Bodies = swPart.GetBodies2(swAllBodies, False)

For i = 0 To UBound(Bodies)

Set swBody = Bodies(i)

If swBody.Name = Telo Then

boolstat = swBody.Select2(False, Nothing)

BodyMaterialError = swBody.SetMaterialProperty("По умолчанию", BazaMat, NameMat)

End If

Next i

End If

Next

End If

swBody.ClearSelection2 True

'====================================================================

If swModel.GetType = swDocPART Then

Set swPart = swModel

Bodies = swPart.GetBodies2(swAllBodies, False)

For itr = 0 To UBound(Bodies)

Set swBody = Bodies(itr)

If swBody.Name = Telo Then

boolstat = swBody.Select2(False, Nothing)

BodyMaterialError = swBody.SetMaterialProperty("По умолчанию", BazaMat, NameMat)

End If

Next itr

End If

swBody.ClearSelection2 True

'====================================================================

MsgBox " Макрос выполнен "

End Sub


Доброго времени суток.

Большое спасибо за ответы  :smile:

Выкладываю макрос. Заменяет или Назначает Материал с Базы Солида по выбору Твердого тела и имени его. Окна выбора не добавлял .Каждый на свой вкус их добавит.

 

swp -  

Замена материала по имени твердого тела .rar

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

Привет Всем! Может кто ни будь выложить код с  PropertyManagerPageSelectionbox рабочий  :rolleyes: 

Пример с Helpa не предлагайте  :thumbdown: 

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

Что вас там конкретно смутило?

Добрый вечер если это вопрос ко мне, отвечаю.

В примере дается только отрисовка компонентов.

Хотелось узнать как програмно добавить в SelectedItems обьекты?

Как удалить класс адекватно?

При добавлении своего кода виснет комп))))

В примере "Create PropertyManager Page" добавил только в OnSubmitSelection

Заранее Благодарен за Помощь

менеджер свойств материал.rar

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Mr_Gray
      Если и расфрезеровывать, то обязательно с коррекцией радиуса инструмента G41, чтобы попасть в середину поля допуска. Но лучше все же разверткой или расточной головкой.
    • lem_on
      При хорошей геометрии станка, можно и расфрезеровать. Если неглубокие отверстия, можно и тс сверлом сразу размер получить.
    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
×
×
  • Создать...