Как корректно на C# поменять угол штриховки

Автор Тема: Как корректно на C# поменять угол штриховки  (Прочитано 7799 раз)

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

Оффлайн AntonZoАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Здравствуйте, уважаемые форумчане! Подскажите пожалуйста где посмотреть пример кода на C# для AutoCad 2016 с изменением угла штриховки. Смотрел примеры на форуме и в официальной документации, например здесь: https://help.autodesk.com/view/OARX/2021/ENU/?guid=GUID-68CAD757-1857-4250-B92B-430318E5C110
Не нашел где показано как менять угол.
Думаю несмотря на то что это примеры для AutoCad 2020, принцип тот же. В моей программе в зависимости от названия  породы применяется различная штриховка. Изменить название и масштаб получается, а вот с углом какие то проблемы. Где то, что то делаю не правильно.
Фрагмент кода:
Код - C# [Выбрать]
  1. Hatch oHatch = new Hatch();
  2. Vector3d normal = new Vector3d(0.0, 0.0, 1.0);
  3. oHatch.Normal = normal;
  4. oHatch.Elevation = 0.0;                
  5.  
  6.     switch (PORODA)
  7.                     {
  8.                         case "пеcчаник":
  9.                             db.Clayer = acLyrTbl["Песчаник"];
  10.                             oHatch.PatternScale = 0.9;
  11.                             oHatch.SetHatchPattern(HatchPatternType.PreDefined, "DOTS"); break;
  12.  
  13.                         case "уголь":
  14.                             db.Clayer = acLyrTbl["Уголь"];
  15.                             oHatch.PatternScale = 0.21;                            
  16.                             oHatch.PatternAngle = 0.79;//эта строка вызывает ошибку при выполнении
  17.                             oHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31"); break;
  18.                         default: break;
  19.                     }
  20.  
  21.  btr.AppendEntity(oHatch);
  22.  Tx.AddNewlyCreatedDBObject(oHatch, true);
  23.  oHatch.Associative = true;
  24.  oHatch.AppendLoop((int)HatchLoopTypes.Default, ObjIds);
  25.  oHatch.EvaluateHatch(true);

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Попробуйте поменять местами строчки 16 и 17.
И тут посмотрите: https://forums.autodesk.com/t5/net/create-hatch-valid-values-for-patternangle/td-p/6660044

Оффлайн AntonZoАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0


Если меняю, студия считает этот код недостижимым.

Оффлайн AntonZoАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
 :)Все заработало спасибо, Когда менял строки утащил на верх оператор break;, поэтому студия ругалась.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Когда менял строки утащил на верх оператор break;
Ага! Вот потому-то и не надо два оператора (или как их там? выражения?) в одной строке ставить! :)