autocad中region与boundary命令有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了autocad中region与boundary命令有啥区别?相关的知识,希望对你有一定的参考价值。
1.region:是面域的命令,简写REG,可以将封闭的多段线,多边形,圆等线条转为面域(即线转平面),可为二维线转三维对象做准备。2.boundary:是边界的命令,简写BO,是边界创建的,包括创建闭合多段线和面域的边界,侧重于边界线框,
两者是不一样的哟,呵呵
希望回答亲能满意,并及时采纳!有疑问再加球再联系追问
boundary命令中的孤岛检测是什么意思?boundary中有一个选择面域/多段线选项,是不是就是说boundary命令既能创建面域也能创建闭合的多段线?谢谢
追答孤岛:是闭合区域的闭合区域,在边界中主要用于是否排除内部嵌套的闭合区域的边界。
选择面域或多段线:是提示操作者根据当前的情况选择要由谁来创建边界。是由多面域生成还是多段线生成。
1.region:是面域的命令,简写reg,可以将封闭的多段线,多边形,圆等线条转为面域(即线转平面),为二维线转三维对象做准备。
2.boundary:是边界的命令,简写bo,是边界创建的,包括创建闭合多段线和面域的边界,侧重于边界线框。
通过 2 个关系搜索核心数据
【中文标题】通过 2 个关系搜索核心数据【英文标题】:Core data search through 2 relationships 【发布时间】:2013-03-13 15:30:30 【问题描述】:我有 3 个实体:Person、Region 和 Boundary。边界具有“状态”属性。一个人可以有很多区域。一个区域可以有很多边界:
Person <<-->> Region <<-->> Boundary.state
对于 Person 实体,我想找出他有边界的所有状态。谓词可以进行这种搜索还是我需要进行嵌套搜索:
NSMutableArray *states = [NSMutableArray array];
for (Region *region in person.regions)
for (Boundary *boundary in region.boundaries)
// add state to array
编辑:
对不起,我不是数据库人,没想到他们是多对多关系:
Person<<-->>Region<<-->>Boundary
【问题讨论】:
有没有一个实体叫状态?您将能够使用谓词来获取一个人拥有的所有边界。从那里你可以计算出状态。 不,状态没有实体,只是边界实体中的一个属性。这可以解决吗?创建一个国家实体?它只会包含 1 个属性... 不,我会[回答。 @Fogmeister:我认为您的解决方案也会奏效。如果thePerson.regions
是一个大集合,它可能会不太有效。 - 不幸的是,问题的第一个版本具有误导性。
【参考方案1】:
谓词中的“ANY”集合运算符不适用于嵌套的一对多关系。您可以在此处使用 SUBQUERY:
[NSPredicate predicateWithFormat:@"SUBQUERY(regions, $r, ANY $r.persons == %@).@count > 0", thePerson]];
【讨论】:
是的,做到了!现在我要去一个角落,试着弄清楚它是如何工作的。谢谢!【参考方案2】:要获取Person
拥有的所有Boundary
实体,您可以像这样使用NSFetchRequest
...
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Boundary"];
[request setPredicate:[NSPredicate predicateWithFormat:@"region.person = %@", thePerson]];
这将返回一个 Boundary
实体数组,其 Person
是您放入谓词中的那个。
那你就可以了……
NSSet *states = [NSSet setWithArray:[results valueForKey:@"state"]];
那么 states 将是 Person“拥有”的一组唯一状态。
随着多对多这种变化。
你可以为谓词做一些类似的事情......
[NSPredicate predicateWithFormat:@"ANY region IN %@", thePerson.regions];
...我认为这可能有效?
【讨论】:
(你更快,我已经放弃了我的答案:-) - 最后一步可以简化为NSArray *states = [results valueForKey:@"state"]
。
哈!现在看起来有点简单明了,谢谢!而且我想我应该提到边界可以有很多人。所以谓词将是@"Any region.person == %@", thePerson,对吧?
@Log139:如果只有person
、region
关系之一是一对多关系,那么这应该可以工作。如果两者都是多对多,则需要更复杂的谓词。
是的,它的多对多关系。一个Person可以有很多Region,一个Region可以有很多Person。一个 Region 可以有多个 Boundary,一个 Boundary 可以有多个 Region。
那你就卡住了。在这种情况下,您需要一个子谓词。您还需要更改问题中的图表,因为它不正确且具有误导性。以上是关于autocad中region与boundary命令有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章