首页 > 其他 > 详细

IfcCorrectFillAreaStyle

时间:2021-01-06 09:05:12      阅读:26      评论:0      收藏:0      [点我收藏+]

如果将不同的填充区域样式正确指定给IfcFillAreaStyle,则此函数返回true。只允许IfcFillStyleSelect提供的实体类型的某些组合。

返回false:

①如果指定了多个外部定义的样式

②如果给定了外部定义的样式,并且附加了任何其他内部样式定义

③如果指定了一种以上的背景色

④如果两者都指定了图案填充和平铺

否则返回true

IFC2x3 TC1版本中增加新功能。

 

EXPRESS Specification

FUNCTION IfcCorrectFillAreaStyle
  (Styles : SET[1:?] OF IfcFillStyleSelect)
  :LOGICAL;

LOCAL
   Hatching : INTEGER := 0;
   Tiles    : INTEGER := 0;
   Colour   : INTEGER := 0;
   External : INTEGER := 0;
END_LOCAL;


External := SIZEOF(QUERY(Style <* Styles |
  ‘IFCPRESENTATIONAPPEARANCERESOURCE.IFCEXTERNALLYDEFINEDHATCHSTYLE‘ IN
   TYPEOF(Style)));

Hatching  := SIZEOF(QUERY(Style <* Styles |
  ‘IFCPRESENTATIONAPPEARANCERESOURCE.IFCFILLAREASTYLEHATCHING‘ IN
   TYPEOF(Style)));

Tiles     := SIZEOF(QUERY(Style <* Styles |
  ‘IFCPRESENTATIONAPPEARANCERESOURCE.IFCFILLAREASTYLETILES‘ IN
   TYPEOF(Style)));

Colour    := SIZEOF(QUERY(Style <* Styles |
  ‘IFCPRESENTATIONAPPEARANCERESOURCE.IFCCOLOUR‘ IN
   TYPEOF(Style)));


IF (External > 1) THEN
  RETURN (FALSE);
END_IF;


IF ((External = 1) AND ((Hatching > 0) OR (Tiles > 0) OR (Colour > 0))) THEN
  RETURN (FALSE);
END_IF;


IF (Colour > 1) THEN
  RETURN (FALSE);
END_IF;

IF ((Hatching > 0) AND (Tiles >0)) THEN
  RETURN (FALSE);
END_IF;

RETURN(TRUE);
END_FUNCTION;

 

IfcCorrectFillAreaStyle

原文:https://www.cnblogs.com/herd/p/14238962.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!