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

ADN Club => AutoCAD .NET API => Тема начата: Judas от 22-06-2019, 18:40:34

Название: Штриховка
Отправлено: Judas от 22-06-2019, 18:40:34
Дня доброго всем!
Никто не сталкивался с такой проблемой.
Собрал dll дома (потестил - все красиво).
Принес на работу, запустил, логика выполняется как надо (блок есть, информация, ведомости), но вот отображение штриховки не совпадает.
Т.е. на не домашнем компе штриховка делается на столько мелкой, что АКАД ее не прорисовывает, приходить заходить в блоки менять масштаб в ручную - что не очень для пользователей.
Параметры штриховки:
Код - C# [Выбрать]
  1.                 //Создаем штриховку полилинию
  2.                 Hatch HatchRep = new Hatch();
  3.                 //HatchRep.SetDatabaseDefaults();
  4.                 HatchRep.PatternScale = 1.0;
  5.                 if (_Elem.IzType == IZBase.BankProtection01) HatchRep.SetHatchPattern(HatchPatternType.PreDefined, "GRAVEL");
  6.                 if (_Elem.IzType == IZBase.BankProtection02) HatchRep.SetHatchPattern(HatchPatternType.PreDefined, "GRAVEL");
  7.                 if (_Elem.IzType == IZBase.BankProtection03) HatchRep.SetHatchPattern(HatchPatternType.PreDefined, "HONEY");
  8.                 if (_Elem.IzType == IZBase.BankProtection04) HatchRep.SetHatchPattern(HatchPatternType.PreDefined, "GRATE");
  9.                 HatchRep.AppendLoop(HatchLoopTypes.Outermost, ObjIdColl);
  10.                 HatchRep.EvaluateHatch(true);
  11.                 HatchRep.TransformBy(moveMatrix);
  12.                 btr.AppendEntity(HatchRep);
  13.                 tr.AddNewlyCreatedDBObject(HatchRep, true);
  14.  
П.С. Вроде единицы моделей совпадают.
HatchPatternType - стандартный выбор.

Кто-то сталкивался?
Название: Re: Штриховка
Отправлено: Александр Пекшев aka Modis от 22-06-2019, 18:45:51
Если штриховка аннотативная, то масштаб аннотаций будет на нее влиять
Название: Re: Штриховка
Отправлено: Judas от 22-06-2019, 18:54:10
Получается:
Код - C# [Выбрать]
  1. HatchRep.Annotative = AnnotativeStates.False;
И не зависимо от всех приключений параметр PatternScale = 1.0 будет всегда 1.
Название: Re: Штриховка
Отправлено: Александр Ривилис от 22-06-2019, 19:06:12
П.С. Вроде единицы моделей совпадают.
Точно? Посмотри системную переменную MEASUREMENT  (https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2018/RUS/AutoCAD-Core/files/GUID-1D074C55-0B63-482E-8A37-A52AC0C7C8FE-htm.html)В зависимости от её значения образцы штриховок берутся или из acad.pat или из acadiso.pat и размер их обычно различается в 25.4 раза (количество миллиметров в дюйме).