Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: filat от 30-06-2016, 10:30:44

Название: Тип линий
Отправлено: filat от 30-06-2016, 10:30:44
Есть вид на чертеже, в котором присутствуют дуги, видимые полностью и пунктирные. При переборе дуг, как определить тип линии или слой, в котором они прорисованы?
Код - vb.net [Выбрать]
  1. Dim oCurve As DrawingCurve
  2. For i =  1 To sView.DrawingCurves.Count
  3.        oCurve = sView.DrawingCurves.Item(i)
  4.        If oCurve.CurveType = CurveTypeEnum.kCircularArcCurve Then
  5.                   If  ' как сформулировать следующее условие?

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fstatic1.keep4u.ru%2F2016%2F06%2F30%2FCurve053ab.jpg&hash=9e71663e5e00d5030cdbe9428e4dcc32)
Название: Re: Тип линий
Отправлено: Александр Ривилис от 30-06-2016, 11:24:19
DrawingCurve.LineType
DrawingCurve.GetCustomLineType
Название: Re: Тип линий
Отправлено: filat от 30-06-2016, 12:23:29
У меня код:
Код - vb.net [Выбрать]
  1. Dim oStrN As String
  2. Dim oStrD As String
  3. Try
  4.      oCurve.GetCustomLineType(oStrN, oStrD)
  5. Catch ex As Exception
  6. End Try
почему-то для всех случаев выдает ошибку?
Название: Re: Тип линий
Отправлено: Александр Ривилис от 30-06-2016, 13:04:38
почему-то для всех случаев выдает ошибку?
Неверное потому, что это не пользовательский тип линии. А что возвращает свойство LineType ?
Название: Re: Тип линий
Отправлено: Александр Ривилис от 30-06-2016, 18:14:52
Подозреваю, что это один из отмеченных типов линий:

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F53078%2F7842324.6%2F0_12b1d5_4acb0f3d_orig.jpg&hash=a369391b081d27e921674fd12f9a827a)

Название: Re: Тип линий
Отправлено: mikazakov от 30-06-2016, 19:36:28
Подразумеваю, что филата интересует вот это:

Код - vb.net [Выбрать]
  1. DrawingCurves(1).Segments(1).Layer
  2. DrawingCurves(1).Segments(1).HiddenLine
  3. DrawingCurves(1).Segments(1).Visible
Название: Re: Тип линий
Отправлено: filat от 01-07-2016, 08:25:59
Миша, как всегда, зрит в корень!
Я бы только чуток уточнил:
Код - vb.net [Выбрать]
  1. DrawingCurves(1).Segments(1).Layer.LineType