乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 30|回复: 1

MPolygon的阴影角问题

[复制链接]

9

主题

30

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2017-6-12 05:03:52 | 显示全部楼层 |阅读模式
我很难正确绘制ANSI31等的阴影角度。我想将图案与多边形的最长边对齐。
因此,我使用以下代码:
  1.                     mPolygon.SetPattern(HatchPatternType.PreDefined, muster);
  2.                     mPolygon.Color = umringFarbe;
  3.                     mPolygon.PatternColor = fuellFarbe;
  4.                     mPolygon.Layer = layer;
  5.                     if (muster.ToUpperInvariant() != "SOLID")
  6.                     {
  7.                         double winkel = schraffurWinkel + laengsteLinie.Direction.Angle;
  8.                         if (winkel > 2 * Math.PI)
  9.                             winkel -= Math.PI;
  10.                         if (winkel >= 0 && winkel < Math.PI)
  11.                             mPolygon.PatternAngle = winkel;
  12.                         else
  13.                             mPolygon.PatternAngle = winkel - Math.PI;
  14.                         mPolygon.PatternScale = schraffurFaktor == 0 ? 1 : schraffurFaktor;
  15.                     }

集合是模式的名称-在本例中为ANSI31 -,laengsteLinie是多边形的最长边。
稍后,将像这样添加多边形:
  1.                     try
  2.                     {
  3.                         ObjectId blockTableId = dwg.BlockTableId;
  4.                         var bt = (BlockTable)trans.GetObject(blockTableId, OpenMode.ForRead);
  5.                         ObjectId modelSpace = bt[BlockTableRecord.ModelSpace];
  6.                         var btr = (BlockTableRecord)trans.GetObject(modelSpace, OpenMode.ForWrite);
  7.                         btr.AppendEntity(mPolygon);
  8.                         handle = mPolygon.Handle.Value;
  9.                         mPolygon.RecordGraphicsModified(true);
  10.                         trans.AddNewlyCreatedDBObject(mPolygon, true);
  11.                         trans.Commit();
  12.                         return handle;
  13.                     }

除了阴影角度之外,一切正常。影线以45度角绘制,这是影线的定义方式,无论周围的矩形(或任何形状)如何旋转。查看MPolygon的属性,我看到,实际上定义了一个不同的角度,我用程序定义的角度。一旦我改变了一些其他的属性,比如间距,多边形就会被重画,这次是应用了角度。怎么会这样
非常感谢您的任何想法...
谢谢,贝恩德

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2017-6-13 19:46:36 | 显示全部楼层
宾果<它看起来像是一个MPolygon。SetPattern()必须是设置图案填充的其他属性后的最后一个调用<非常感谢您的提示!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-5-25 12:05 , Processed in 1.510084 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表