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

API- как переопределить плоскость


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

Подскажите

Задача:

после вставки детали Д1 в сборку S1, надо плоскость детали Plane4 переопределить (перепривязать) (команда редактировать определение) как смешение на 10мм от плоскости TOP_Plane@S1 (т.е. смещением от плоскости сборки) .

P.S. при помощи записи макросов получил програмку которая создаёт новую плоскость но не переоределяет.

в Help Api нашёл макрос как изменить (расстояние) смещения на 100мм но не плоскость.

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


Подскажите

Задача:

после вставки детали Д1 в сборку S1, надо плоскость детали Plane4 переопределить (перепривязать) (команда редактировать определение) как смешение на 10мм от плоскости TOP_Plane@S1 (т.е. смещением от плоскости сборки) .

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

Запись макросов пробовали?

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

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

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

Да, действительно, создаётся новая плоскость...

И в макрос записыватся, ну не то чтобы "далеко не всё" - ИМХО это слишком сильно сказано.

Смотря какие операции производятся...

А в чем смысл/цель такого макроса?

И не совсем понятно о чем идет речь:

- содание новой плоскости в детали "на базе" плоскости сборки

или

- назначение сопряжений между существующими плоскостями в детали и сборке?

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

И не совсем понятно о чем идет речь:

- содание новой плоскости в детали "на базе" плоскости сборки

или

- назначение сопряжений между существующими плоскостями в детали и сборке?

Вставляю в сборку R1 деталь Dd1 (база) и совмещаю по трём плоскостям

post-7808-1239277382_thumb.jpg

Затем редактирую определение "плоскость 3"

post-7808-1239277440_thumb.jpg

Перепривязывая её на одну грань PR1 (колонна)

post-7808-1239277542_thumb.jpg

Теперь если я меняю PR1 (колонну) то меняется и Dd1 (база)

post-7808-1239277602_thumb.jpg

Вот такие действия я хочу, чтобы выполнялись в макросе.

P.S. планирую использовать для автоматизации проектирования Металлоконструкций :)

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

P.S. при помощи записи макросов получил програмку которая создаёт новую плоскость но не переоределяет.

в Help Api нашёл макрос как изменить (расстояние) смещения на 100мм но не плоскость.

Привет.Меня заинтересовала ваша тема-получения формирования новой плоскости с записью макроса.Может надо сформировать плоскость используя ребро тела?
Ссылка на сообщение
Поделиться на других сайтах

Привет.Меня заинтересовала ваша тема-получения формирования новой плоскости с записью макроса.Может надо сформировать плоскость используя ребро тела?

Здесь основной смысл, не в формировании, а в переопределении уже существующей плоскости. Потому что геометрические объекты ссылаются на эту плоскость (а не на новую).

Как я понимаю в плоскости одного родителя (т.е. объект на основании которого она создавалась) другим объектом.

Например если плоскость создавалась смещением на 10 мм относительно Front_Plane надо заменить этого родителя на Top_plane...

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

Что-то ниукого никаких идей !!!

Сложный вопрос или никто так и не понял задачи??

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

Что-то ниукого никаких идей !!!

Сложный вопрос или никто так и не понял задачи??

Мне кажеться Вы путаете понятия переопределения плоскости и переопределения сопряжения.

Если Вы создали деталь, в ней плоскость "PPP1", смещением от базовой пл. детали и строите какие-то доп. элементы...

Затем Вы вставляете эту деталь в Сборку и спрашиваете "как мне переопределить полскость PPP1?"

ИМХО, Вам не пл. "PPP1" переопределять надо, а наложить сопряжения в сборке, используя эту плоскость и плоскости или других детатлей или плоскости самой сборки.

Вот когда Вы наложите сопряжение "Совпадение" (или др.) между плоскостью "РРР1" детали и плоскостью "ПЛ01" сборки, вот тогда и можно будет задавать Ваш изначальный вопрос. НО! не о переопределении плоскости "РРР1" детали, а плоскости "ПЛ01" сборки.

Итого имеем :

- дет. Д1, в которой определена пл. РРР1;

- сборка С1 в которой определена пл. ПЛ01;

- дет. Д1 вставлена в сборку С1 и наложено сопряжение "Совпадение" по плоскостям РРР1 и ПЛ01;

Теперь у Вас ТРИ варианта на выбор:

- редактировать в детали определение пл. РРР1;

- редактировать в сборке определение пл. ПЛ01;

- редактировать определение сопряжения "Совпадение" в сборке.

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

Вам не пл. "PPP1" переопределять надо, а наложить сопряжения в сборке, используя эту плоскость и плоскости или других детатлей или плоскости самой сборки.

1. Как я отмечал в примере с картинками. Деталь вставленна в сборку и сопрежена тремя парами плоскостей.

2. Четвёртая плоскость детали не совпадает с плоскостью сборки (потому что я заранее не знаю, например размер колонны, и не хочу делать множество семейств.) а раз три сопряжения уже есть то сопрячь четвёртую пару плоскостей не получиться.

3. А хочу что бы переопределившаяся (по средством переопределения) плоскость (грань колонны) определяла геометрию вставляемой детали.

И вообщем вопрос не в приёмах работы.

Вопрос: Как командами макроса VisualBasic, выполнить операции аналогичные "редактировать определение плоскости с последующим выбором другой плоскости (относительно которой происходит смещение)"

И не важно для сборки это использовать или нет.

Ещё раз по пунктам.

Просто деталь с базовыми плоскостями и плоскость "Плоскость 1" , созданная смещением относительно "Front Plane" на 50мм

Далее нажимаем левой кнопкой мыши на "Плоскость 1" и выбираем в выпадающем меню "Редактировать определение"

post-7808-1239616507_thumb.jpg

И выбираем (переопределяем) вместо "Front Plane" -> "Right Plane"

post-7808-1239616734_thumb.jpg

Получаем в результате:

post-7808-1239616839_thumb.jpg

КАК ЭТИ ДЕЙСТВИЯ ВЫПОЛНИТЬ С ПОМОЩЬЮ КОМАНД МАКРОСА !!!!

P.S. запись макроса даёт совсем другой результат и хелп я уже читал

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

Только для примера. Все необходимые проверки я опустил. Плоскость Plane4 построена от Plane1, код изменяет ссылку на Plane3. Работает только в докумете деталей, в сборке немного подругому.

Option Explicit



Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swPart As SldWorks.PartDoc

Dim swSelMgr As SldWorks.SelectionMgr

Dim swFeature As SldWorks.Feature

Dim swNewFeature As SldWorks.Feature

Dim swNewRefPlane As SldWorks.RefPlane

Dim swRefPlane As SldWorks.RefPlaneFeatureData

Dim bres As Boolean

Sub main()



	Set swApp = Application.SldWorks

	Set swModel = swApp.ActiveDoc

	Set swPart = swModel

	Set swSelMgr = swModel.SelectionManager

	

	bres = swModel.Extension.SelectByID("Plane4", "PLANE", 0, 0, 0, False, 0, Nothing)	

	Set swFeature = swSelMgr.GetSelectedObject5(1)

	

	swModel.ClearSelection2 True

	

	Set swRefPlane = swFeature.GetDefinition()

	swRefPlane.AccessSelections swPart, Nothing 'если сборка аргументы другие, читаем справку

	

	bres = swModel.Extension.SelectByID("Plane3", "PLANE", 0, 0, 0, False, 0, Nothing)

	Set swNewFeature = swSelMgr.GetSelectedObject5(1)

	Set swNewRefPlane = swNewFeature.GetSpecificFeature2()

	swModel.ClearSelection2 True

	

	Dim arrEntity(0) As SldWorks.RefPlane

	Set arrEntity(0) = swNewRefPlane

	swRefPlane.Selections = arrEntity

	

	swFeature.ModifyDefinition swRefPlane, swPart, Nothing 'если сборка аргументы другие, читаем справку

	

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
×
×
  • Создать...