Удаление размеров в эскизе.

Автор Тема: Удаление размеров в эскизе.  (Прочитано 477 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • ****
  • Сообщений: 474
  • Карма: 16
Доброго времени суток, уважаемые форумчане. Ищу вашей помощи с таком вот вопросе:
Есть эскиз в детали, я построил в нем точку и привязал ее двумя размерами к проекции начала координат. Существует ли способ обращения к коллекции, которая содержала бы только размеры, относящиеся к данной точке?  Ну то есть цель такая: удалить размеры, перенести в новое место, нанести размеры. Или возможно есть команда удаления всех размеров, относящихся к точке? Или быть может есть способ игнорирования размеров при переносе?
В программировании я новичок...но ненадолго! ;)

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 474
  • Карма: 134
  • Skype: mikazakov@mail.ru
Re: Удаление размеров в эскизе.
« Ответ #1 : 27-12-2019, 08:09:50 »
Ну можно так получить доступ к размерам, для работы нужна открытая деталь с активным плоским эскизом и пара точек в нем, вторая должна быть образмерена линейными размерами:
Код - Visual Basic [Выбрать]
  1. Public Sub DimensionConstrant()
  2.    
  3. Dim doc As PartDocument: Set doc = ThisApplication.ActiveDocument
  4. Dim sk As Sketch: Set sk = ThisApplication.ActiveEditObject
  5. Dim sk_point As SketchPoint: Set sk_point = sk.SketchPoints(2)
  6. Dim constrant As TwoPointDistanceDimConstraint: Set constrant = sk_point.Constraints(2)
  7. MsgBox (constrant.Parameter.Value)
  8.  
  9. End Sub
  10.  
  11.  

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 474
  • Карма: 134
  • Skype: mikazakov@mail.ru
Re: Удаление размеров в эскизе.
« Ответ #2 : 27-12-2019, 08:13:54 »
Или быть может есть способ игнорирования размеров при переносе?
попробовать сделать "растягиваемый" размер:
TwoPointDistanceDimConstraint.Driven=true

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • ****
  • Сообщений: 474
  • Карма: 16
Re: Удаление размеров в эскизе.
« Ответ #3 : 27-12-2019, 15:29:03 »
попробовать сделать "растягиваемый" размер:
TwoPointDistanceDimConstraint.Driven=true
Спасибо. Я думал про это, но тогда мне нужно найти ссылку на размер, а значит все сводится к изначальной задаче.
В программировании я новичок...но ненадолго! ;)

Отмечено как Решение R.I.Chernov 27-12-2019, 16:09:30

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • ****
  • Сообщений: 474
  • Карма: 16
Re: Удаление размеров в эскизе.
« Ответ #4 : 27-12-2019, 16:09:22 »
Спасибо, Михаил за помощь! Итоговый код у меня получился такой:
Код - C# [Выбрать]
  1.                 for (int i = p.Constraints.Count; i > 0; i--)
  2.                 {
  3.                     ((Inventor.TwoPointDistanceDimConstraint)p.Constraints[i]).Delete();
  4.                 }

где p - ссылка на точку эскиза в детали
В программировании я новичок...но ненадолго! ;)

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • ****
  • Сообщений: 474
  • Карма: 16
Re: Удаление размеров в эскизе.
« Ответ #5 : 27-12-2019, 16:12:27 »
По идее можно переделать перебор, сделать свойство TwoPointDistanceDimConstraint.Driven=true, передвигать точку и восстанавливать значение свойства на "false" тем же перебором,  но это уже тонкости.
В программировании я новичок...но ненадолго! ;)