Autodesk 00128-051462-9310 User Guide - Page 1795

Bounding Object Rule (SpaceOffsetRulesManager.AecBoundingObjectRule Base Class)

Page 1795 highlights

public abstract bool Apply(Autodesk.AutoCAD.DatabaseServices.ObjectId idSpace);) The boolean return value determines if the space has a valid offset boundary. If so, it can be used to deactivate all boundaries of a certain offset type. The following example shows the framework for a new space rule class: namespace AecSpaceOffsetStandardBasic { public class SpaceRule: AecSpaceRule { public SpaceRule() { } public override bool Apply(ObjectId idSpace) { // return false to switch boundary off } } } Sample Space Rule NullSpace A common use case is that an area calculation standard includes only net and gross offsets, but no usable offset. You can accomplish that by implementing a space rule derived from AecSpaceRule that always returns false in the implementation of the Apply method. Register one instance of that rule with the usable offset in the standards implementation of AecSpaceOffsetStandard.InitRules(). A more complex space rule might define that all spaces with an area smaller than a certain predefined value do not contribute to a certain offset type. The following example shows the space rule that is part of the sample project and that will invalid all spaces. It is used within the sample standard to switch off the usable boundary: namespace AecSpaceOffsetStandardBasic { public class NullSpace: AecSpaceRule { public SpaceRuleNet() { } public override bool Apply(ObjectId idSpace) { return false; } } } Reference:AecSpaceRule Class The following list shows all members of the AecSpaceRule base class: namespace Autodesk.Aec.SpaceOffsetRulesManager { public abstract class AecSpaceRule : AecSpaceOffsetBaseRule { public AecSpaceRule(); public abstract bool Apply( Autodesk.AutoCAD.DatabaseServices.ObjectId idSpace, Autodesk.Aec.Modeler.Body body); } } Bounding Object Rule (SpaceOffsetRulesManager.AecBoundingObjectRule Base Class) Bounding object rules allow objects that are bounding the base profile of the space, such as structural members, to be marked as non-bounding, so that they will not be processed when creating the offset profile. Each standard can define and apply multiple bounding object rules for each boundary offset type. Implementation of a Bounding Object Rule To implement a custom bounding object rule, you need to add a new class that is derived from the SpaceOffsetRulesManager.AecBoundingObjectRule base class. The new class needs to implement the Apply interface of the base class and register itself for the object types it should be called for in the constructor by calling the AecSpaceOffsetRuleBase.RegisterType() base method. The Apply method of this rule type has the following syntax: Implementing Offset Rules | 1755

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • 533
  • 534
  • 535
  • 536
  • 537
  • 538
  • 539
  • 540
  • 541
  • 542
  • 543
  • 544
  • 545
  • 546
  • 547
  • 548
  • 549
  • 550
  • 551
  • 552
  • 553
  • 554
  • 555
  • 556
  • 557
  • 558
  • 559
  • 560
  • 561
  • 562
  • 563
  • 564
  • 565
  • 566
  • 567
  • 568
  • 569
  • 570
  • 571
  • 572
  • 573
  • 574
  • 575
  • 576
  • 577
  • 578
  • 579
  • 580
  • 581
  • 582
  • 583
  • 584
  • 585
  • 586
  • 587
  • 588
  • 589
  • 590
  • 591
  • 592
  • 593
  • 594
  • 595
  • 596
  • 597
  • 598
  • 599
  • 600
  • 601
  • 602
  • 603
  • 604
  • 605
  • 606
  • 607
  • 608
  • 609
  • 610
  • 611
  • 612
  • 613
  • 614
  • 615
  • 616
  • 617
  • 618
  • 619
  • 620
  • 621
  • 622
  • 623
  • 624
  • 625
  • 626
  • 627
  • 628
  • 629
  • 630
  • 631
  • 632
  • 633
  • 634
  • 635
  • 636
  • 637
  • 638
  • 639
  • 640
  • 641
  • 642
  • 643
  • 644
  • 645
  • 646
  • 647
  • 648
  • 649
  • 650
  • 651
  • 652
  • 653
  • 654
  • 655
  • 656
  • 657
  • 658
  • 659
  • 660
  • 661
  • 662
  • 663
  • 664
  • 665
  • 666
  • 667
  • 668
  • 669
  • 670
  • 671
  • 672
  • 673
  • 674
  • 675
  • 676
  • 677
  • 678
  • 679
  • 680
  • 681
  • 682
  • 683
  • 684
  • 685
  • 686
  • 687
  • 688
  • 689
  • 690
  • 691
  • 692
  • 693
  • 694
  • 695
  • 696
  • 697
  • 698
  • 699
  • 700
  • 701
  • 702
  • 703
  • 704
  • 705
  • 706
  • 707
  • 708
  • 709
  • 710
  • 711
  • 712
  • 713
  • 714
  • 715
  • 716
  • 717
  • 718
  • 719
  • 720
  • 721
  • 722
  • 723
  • 724
  • 725
  • 726
  • 727
  • 728
  • 729
  • 730
  • 731
  • 732
  • 733
  • 734
  • 735
  • 736
  • 737
  • 738
  • 739
  • 740
  • 741
  • 742
  • 743
  • 744
  • 745
  • 746
  • 747
  • 748
  • 749
  • 750
  • 751
  • 752
  • 753
  • 754
  • 755
  • 756
  • 757
  • 758
  • 759
  • 760
  • 761
  • 762
  • 763
  • 764
  • 765
  • 766
  • 767
  • 768
  • 769
  • 770
  • 771
  • 772
  • 773
  • 774
  • 775
  • 776
  • 777
  • 778
  • 779
  • 780
  • 781
  • 782
  • 783
  • 784
  • 785
  • 786
  • 787
  • 788
  • 789
  • 790
  • 791
  • 792
  • 793
  • 794
  • 795
  • 796
  • 797
  • 798
  • 799
  • 800
  • 801
  • 802
  • 803
  • 804
  • 805
  • 806
  • 807
  • 808
  • 809
  • 810
  • 811
  • 812
  • 813
  • 814
  • 815
  • 816
  • 817
  • 818
  • 819
  • 820
  • 821
  • 822
  • 823
  • 824
  • 825
  • 826
  • 827
  • 828
  • 829
  • 830
  • 831
  • 832
  • 833
  • 834
  • 835
  • 836
  • 837
  • 838
  • 839
  • 840
  • 841
  • 842
  • 843
  • 844
  • 845
  • 846
  • 847
  • 848
  • 849
  • 850
  • 851
  • 852
  • 853
  • 854
  • 855
  • 856
  • 857
  • 858
  • 859
  • 860
  • 861
  • 862
  • 863
  • 864
  • 865
  • 866
  • 867
  • 868
  • 869
  • 870
  • 871
  • 872
  • 873
  • 874
  • 875
  • 876
  • 877
  • 878
  • 879
  • 880
  • 881
  • 882
  • 883
  • 884
  • 885
  • 886
  • 887
  • 888
  • 889
  • 890
  • 891
  • 892
  • 893
  • 894
  • 895
  • 896
  • 897
  • 898
  • 899
  • 900
  • 901
  • 902
  • 903
  • 904
  • 905
  • 906
  • 907
  • 908
  • 909
  • 910
  • 911
  • 912
  • 913
  • 914
  • 915
  • 916
  • 917
  • 918
  • 919
  • 920
  • 921
  • 922
  • 923
  • 924
  • 925
  • 926
  • 927
  • 928
  • 929
  • 930
  • 931
  • 932
  • 933
  • 934
  • 935
  • 936
  • 937
  • 938
  • 939
  • 940
  • 941
  • 942
  • 943
  • 944
  • 945
  • 946
  • 947
  • 948
  • 949
  • 950
  • 951
  • 952
  • 953
  • 954
  • 955
  • 956
  • 957
  • 958
  • 959
  • 960
  • 961
  • 962
  • 963
  • 964
  • 965
  • 966
  • 967
  • 968
  • 969
  • 970
  • 971
  • 972
  • 973
  • 974
  • 975
  • 976
  • 977
  • 978
  • 979
  • 980
  • 981
  • 982
  • 983
  • 984
  • 985
  • 986
  • 987
  • 988
  • 989
  • 990
  • 991
  • 992
  • 993
  • 994
  • 995
  • 996
  • 997
  • 998
  • 999
  • 1,000
  • 1,001
  • 1,002
  • 1,003
  • 1,004
  • 1,005
  • 1,006
  • 1,007
  • 1,008
  • 1,009
  • 1,010
  • 1,011
  • 1,012
  • 1,013
  • 1,014
  • 1,015
  • 1,016
  • 1,017
  • 1,018
  • 1,019
  • 1,020
  • 1,021
  • 1,022
  • 1,023
  • 1,024
  • 1,025
  • 1,026
  • 1,027
  • 1,028
  • 1,029
  • 1,030
  • 1,031
  • 1,032
  • 1,033
  • 1,034
  • 1,035
  • 1,036
  • 1,037
  • 1,038
  • 1,039
  • 1,040
  • 1,041
  • 1,042
  • 1,043
  • 1,044
  • 1,045
  • 1,046
  • 1,047
  • 1,048
  • 1,049
  • 1,050
  • 1,051
  • 1,052
  • 1,053
  • 1,054
  • 1,055
  • 1,056
  • 1,057
  • 1,058
  • 1,059
  • 1,060
  • 1,061
  • 1,062
  • 1,063
  • 1,064
  • 1,065
  • 1,066
  • 1,067
  • 1,068
  • 1,069
  • 1,070
  • 1,071
  • 1,072
  • 1,073
  • 1,074
  • 1,075
  • 1,076
  • 1,077
  • 1,078
  • 1,079
  • 1,080
  • 1,081
  • 1,082
  • 1,083
  • 1,084
  • 1,085
  • 1,086
  • 1,087
  • 1,088
  • 1,089
  • 1,090
  • 1,091
  • 1,092
  • 1,093
  • 1,094
  • 1,095
  • 1,096
  • 1,097
  • 1,098
  • 1,099
  • 1,100
  • 1,101
  • 1,102
  • 1,103
  • 1,104
  • 1,105
  • 1,106
  • 1,107
  • 1,108
  • 1,109
  • 1,110
  • 1,111
  • 1,112
  • 1,113
  • 1,114
  • 1,115
  • 1,116
  • 1,117
  • 1,118
  • 1,119
  • 1,120
  • 1,121
  • 1,122
  • 1,123
  • 1,124
  • 1,125
  • 1,126
  • 1,127
  • 1,128
  • 1,129
  • 1,130
  • 1,131
  • 1,132
  • 1,133
  • 1,134
  • 1,135
  • 1,136
  • 1,137
  • 1,138
  • 1,139
  • 1,140
  • 1,141
  • 1,142
  • 1,143
  • 1,144
  • 1,145
  • 1,146
  • 1,147
  • 1,148
  • 1,149
  • 1,150
  • 1,151
  • 1,152
  • 1,153
  • 1,154
  • 1,155
  • 1,156
  • 1,157
  • 1,158
  • 1,159
  • 1,160
  • 1,161
  • 1,162
  • 1,163
  • 1,164
  • 1,165
  • 1,166
  • 1,167
  • 1,168
  • 1,169
  • 1,170
  • 1,171
  • 1,172
  • 1,173
  • 1,174
  • 1,175
  • 1,176
  • 1,177
  • 1,178
  • 1,179
  • 1,180
  • 1,181
  • 1,182
  • 1,183
  • 1,184
  • 1,185
  • 1,186
  • 1,187
  • 1,188
  • 1,189
  • 1,190
  • 1,191
  • 1,192
  • 1,193
  • 1,194
  • 1,195
  • 1,196
  • 1,197
  • 1,198
  • 1,199
  • 1,200
  • 1,201
  • 1,202
  • 1,203
  • 1,204
  • 1,205
  • 1,206
  • 1,207
  • 1,208
  • 1,209
  • 1,210
  • 1,211
  • 1,212
  • 1,213
  • 1,214
  • 1,215
  • 1,216
  • 1,217
  • 1,218
  • 1,219
  • 1,220
  • 1,221
  • 1,222
  • 1,223
  • 1,224
  • 1,225
  • 1,226
  • 1,227
  • 1,228
  • 1,229
  • 1,230
  • 1,231
  • 1,232
  • 1,233
  • 1,234
  • 1,235
  • 1,236
  • 1,237
  • 1,238
  • 1,239
  • 1,240
  • 1,241
  • 1,242
  • 1,243
  • 1,244
  • 1,245
  • 1,246
  • 1,247
  • 1,248
  • 1,249
  • 1,250
  • 1,251
  • 1,252
  • 1,253
  • 1,254
  • 1,255
  • 1,256
  • 1,257
  • 1,258
  • 1,259
  • 1,260
  • 1,261
  • 1,262
  • 1,263
  • 1,264
  • 1,265
  • 1,266
  • 1,267
  • 1,268
  • 1,269
  • 1,270
  • 1,271
  • 1,272
  • 1,273
  • 1,274
  • 1,275
  • 1,276
  • 1,277
  • 1,278
  • 1,279
  • 1,280
  • 1,281
  • 1,282
  • 1,283
  • 1,284
  • 1,285
  • 1,286
  • 1,287
  • 1,288
  • 1,289
  • 1,290
  • 1,291
  • 1,292
  • 1,293
  • 1,294
  • 1,295
  • 1,296
  • 1,297
  • 1,298
  • 1,299
  • 1,300
  • 1,301
  • 1,302
  • 1,303
  • 1,304
  • 1,305
  • 1,306
  • 1,307
  • 1,308
  • 1,309
  • 1,310
  • 1,311
  • 1,312
  • 1,313
  • 1,314
  • 1,315
  • 1,316
  • 1,317
  • 1,318
  • 1,319
  • 1,320
  • 1,321
  • 1,322
  • 1,323
  • 1,324
  • 1,325
  • 1,326
  • 1,327
  • 1,328
  • 1,329
  • 1,330
  • 1,331
  • 1,332
  • 1,333
  • 1,334
  • 1,335
  • 1,336
  • 1,337
  • 1,338
  • 1,339
  • 1,340
  • 1,341
  • 1,342
  • 1,343
  • 1,344
  • 1,345
  • 1,346
  • 1,347
  • 1,348
  • 1,349
  • 1,350
  • 1,351
  • 1,352
  • 1,353
  • 1,354
  • 1,355
  • 1,356
  • 1,357
  • 1,358
  • 1,359
  • 1,360
  • 1,361
  • 1,362
  • 1,363
  • 1,364
  • 1,365
  • 1,366
  • 1,367
  • 1,368
  • 1,369
  • 1,370
  • 1,371
  • 1,372
  • 1,373
  • 1,374
  • 1,375
  • 1,376
  • 1,377
  • 1,378
  • 1,379
  • 1,380
  • 1,381
  • 1,382
  • 1,383
  • 1,384
  • 1,385
  • 1,386
  • 1,387
  • 1,388
  • 1,389
  • 1,390
  • 1,391
  • 1,392
  • 1,393
  • 1,394
  • 1,395
  • 1,396
  • 1,397
  • 1,398
  • 1,399
  • 1,400
  • 1,401
  • 1,402
  • 1,403
  • 1,404
  • 1,405
  • 1,406
  • 1,407
  • 1,408
  • 1,409
  • 1,410
  • 1,411
  • 1,412
  • 1,413
  • 1,414
  • 1,415
  • 1,416
  • 1,417
  • 1,418
  • 1,419
  • 1,420
  • 1,421
  • 1,422
  • 1,423
  • 1,424
  • 1,425
  • 1,426
  • 1,427
  • 1,428
  • 1,429
  • 1,430
  • 1,431
  • 1,432
  • 1,433
  • 1,434
  • 1,435
  • 1,436
  • 1,437
  • 1,438
  • 1,439
  • 1,440
  • 1,441
  • 1,442
  • 1,443
  • 1,444
  • 1,445
  • 1,446
  • 1,447
  • 1,448
  • 1,449
  • 1,450
  • 1,451
  • 1,452
  • 1,453
  • 1,454
  • 1,455
  • 1,456
  • 1,457
  • 1,458
  • 1,459
  • 1,460
  • 1,461
  • 1,462
  • 1,463
  • 1,464
  • 1,465
  • 1,466
  • 1,467
  • 1,468
  • 1,469
  • 1,470
  • 1,471
  • 1,472
  • 1,473
  • 1,474
  • 1,475
  • 1,476
  • 1,477
  • 1,478
  • 1,479
  • 1,480
  • 1,481
  • 1,482
  • 1,483
  • 1,484
  • 1,485
  • 1,486
  • 1,487
  • 1,488
  • 1,489
  • 1,490
  • 1,491
  • 1,492
  • 1,493
  • 1,494
  • 1,495
  • 1,496
  • 1,497
  • 1,498
  • 1,499
  • 1,500
  • 1,501
  • 1,502
  • 1,503
  • 1,504
  • 1,505
  • 1,506
  • 1,507
  • 1,508
  • 1,509
  • 1,510
  • 1,511
  • 1,512
  • 1,513
  • 1,514
  • 1,515
  • 1,516
  • 1,517
  • 1,518
  • 1,519
  • 1,520
  • 1,521
  • 1,522
  • 1,523
  • 1,524
  • 1,525
  • 1,526
  • 1,527
  • 1,528
  • 1,529
  • 1,530
  • 1,531
  • 1,532
  • 1,533
  • 1,534
  • 1,535
  • 1,536
  • 1,537
  • 1,538
  • 1,539
  • 1,540
  • 1,541
  • 1,542
  • 1,543
  • 1,544
  • 1,545
  • 1,546
  • 1,547
  • 1,548
  • 1,549
  • 1,550
  • 1,551
  • 1,552
  • 1,553
  • 1,554
  • 1,555
  • 1,556
  • 1,557
  • 1,558
  • 1,559
  • 1,560
  • 1,561
  • 1,562
  • 1,563
  • 1,564
  • 1,565
  • 1,566
  • 1,567
  • 1,568
  • 1,569
  • 1,570
  • 1,571
  • 1,572
  • 1,573
  • 1,574
  • 1,575
  • 1,576
  • 1,577
  • 1,578
  • 1,579
  • 1,580
  • 1,581
  • 1,582
  • 1,583
  • 1,584
  • 1,585
  • 1,586
  • 1,587
  • 1,588
  • 1,589
  • 1,590
  • 1,591
  • 1,592
  • 1,593
  • 1,594
  • 1,595
  • 1,596
  • 1,597
  • 1,598
  • 1,599
  • 1,600
  • 1,601
  • 1,602
  • 1,603
  • 1,604
  • 1,605
  • 1,606
  • 1,607
  • 1,608
  • 1,609
  • 1,610
  • 1,611
  • 1,612
  • 1,613
  • 1,614
  • 1,615
  • 1,616
  • 1,617
  • 1,618
  • 1,619
  • 1,620
  • 1,621
  • 1,622
  • 1,623
  • 1,624
  • 1,625
  • 1,626
  • 1,627
  • 1,628
  • 1,629
  • 1,630
  • 1,631
  • 1,632
  • 1,633
  • 1,634
  • 1,635
  • 1,636
  • 1,637
  • 1,638
  • 1,639
  • 1,640
  • 1,641
  • 1,642
  • 1,643
  • 1,644
  • 1,645
  • 1,646
  • 1,647
  • 1,648
  • 1,649
  • 1,650
  • 1,651
  • 1,652
  • 1,653
  • 1,654
  • 1,655
  • 1,656
  • 1,657
  • 1,658
  • 1,659
  • 1,660
  • 1,661
  • 1,662
  • 1,663
  • 1,664
  • 1,665
  • 1,666
  • 1,667
  • 1,668
  • 1,669
  • 1,670
  • 1,671
  • 1,672
  • 1,673
  • 1,674
  • 1,675
  • 1,676
  • 1,677
  • 1,678
  • 1,679
  • 1,680
  • 1,681
  • 1,682
  • 1,683
  • 1,684
  • 1,685
  • 1,686
  • 1,687
  • 1,688
  • 1,689
  • 1,690
  • 1,691
  • 1,692
  • 1,693
  • 1,694
  • 1,695
  • 1,696
  • 1,697
  • 1,698
  • 1,699
  • 1,700
  • 1,701
  • 1,702
  • 1,703
  • 1,704
  • 1,705
  • 1,706
  • 1,707
  • 1,708
  • 1,709
  • 1,710
  • 1,711
  • 1,712
  • 1,713
  • 1,714
  • 1,715
  • 1,716
  • 1,717
  • 1,718
  • 1,719
  • 1,720
  • 1,721
  • 1,722
  • 1,723
  • 1,724
  • 1,725
  • 1,726
  • 1,727
  • 1,728
  • 1,729
  • 1,730
  • 1,731
  • 1,732
  • 1,733
  • 1,734
  • 1,735
  • 1,736
  • 1,737
  • 1,738
  • 1,739
  • 1,740
  • 1,741
  • 1,742
  • 1,743
  • 1,744
  • 1,745
  • 1,746
  • 1,747
  • 1,748
  • 1,749
  • 1,750
  • 1,751
  • 1,752
  • 1,753
  • 1,754
  • 1,755
  • 1,756
  • 1,757
  • 1,758
  • 1,759
  • 1,760
  • 1,761
  • 1,762
  • 1,763
  • 1,764
  • 1,765
  • 1,766
  • 1,767
  • 1,768
  • 1,769
  • 1,770
  • 1,771
  • 1,772
  • 1,773
  • 1,774
  • 1,775
  • 1,776
  • 1,777
  • 1,778
  • 1,779
  • 1,780
  • 1,781
  • 1,782
  • 1,783
  • 1,784
  • 1,785
  • 1,786
  • 1,787
  • 1,788
  • 1,789
  • 1,790
  • 1,791
  • 1,792
  • 1,793
  • 1,794
  • 1,795
  • 1,796
  • 1,797
  • 1,798
  • 1,799
  • 1,800
  • 1,801
  • 1,802
  • 1,803
  • 1,804
  • 1,805
  • 1,806
  • 1,807
  • 1,808
  • 1,809
  • 1,810
  • 1,811
  • 1,812
  • 1,813
  • 1,814
  • 1,815
  • 1,816
  • 1,817
  • 1,818
  • 1,819
  • 1,820
  • 1,821
  • 1,822
  • 1,823
  • 1,824
  • 1,825
  • 1,826
  • 1,827
  • 1,828
  • 1,829
  • 1,830
  • 1,831
  • 1,832
  • 1,833
  • 1,834
  • 1,835
  • 1,836
  • 1,837
  • 1,838
  • 1,839
  • 1,840
  • 1,841
  • 1,842
  • 1,843
  • 1,844
  • 1,845
  • 1,846
  • 1,847
  • 1,848
  • 1,849
  • 1,850
  • 1,851
  • 1,852
  • 1,853
  • 1,854
  • 1,855
  • 1,856
  • 1,857
  • 1,858
  • 1,859
  • 1,860
  • 1,861
  • 1,862
  • 1,863
  • 1,864
  • 1,865
  • 1,866
  • 1,867
  • 1,868
  • 1,869
  • 1,870
  • 1,871
  • 1,872
  • 1,873
  • 1,874
  • 1,875
  • 1,876
  • 1,877
  • 1,878
  • 1,879
  • 1,880
  • 1,881
  • 1,882
  • 1,883
  • 1,884
  • 1,885
  • 1,886
  • 1,887
  • 1,888
  • 1,889
  • 1,890
  • 1,891
  • 1,892
  • 1,893
  • 1,894
  • 1,895
  • 1,896
  • 1,897
  • 1,898
  • 1,899
  • 1,900
  • 1,901
  • 1,902
  • 1,903
  • 1,904
  • 1,905
  • 1,906
  • 1,907
  • 1,908
  • 1,909
  • 1,910
  • 1,911
  • 1,912
  • 1,913
  • 1,914
  • 1,915
  • 1,916
  • 1,917
  • 1,918
  • 1,919
  • 1,920
  • 1,921
  • 1,922
  • 1,923
  • 1,924
  • 1,925
  • 1,926
  • 1,927
  • 1,928
  • 1,929
  • 1,930
  • 1,931
  • 1,932
  • 1,933
  • 1,934
  • 1,935
  • 1,936
  • 1,937
  • 1,938
  • 1,939
  • 1,940
  • 1,941
  • 1,942
  • 1,943
  • 1,944
  • 1,945
  • 1,946
  • 1,947
  • 1,948
  • 1,949
  • 1,950
  • 1,951
  • 1,952
  • 1,953
  • 1,954
  • 1,955
  • 1,956
  • 1,957
  • 1,958
  • 1,959
  • 1,960
  • 1,961
  • 1,962
  • 1,963
  • 1,964
  • 1,965
  • 1,966
  • 1,967
  • 1,968
  • 1,969
  • 1,970
  • 1,971
  • 1,972
  • 1,973
  • 1,974
  • 1,975
  • 1,976
  • 1,977
  • 1,978
  • 1,979
  • 1,980
  • 1,981
  • 1,982
  • 1,983
  • 1,984
  • 1,985
  • 1,986
  • 1,987
  • 1,988
  • 1,989
  • 1,990
  • 1,991
  • 1,992
  • 1,993
  • 1,994
  • 1,995
  • 1,996
  • 1,997
  • 1,998
  • 1,999
  • 2,000
  • 2,001
  • 2,002
  • 2,003
  • 2,004
  • 2,005
  • 2,006
  • 2,007
  • 2,008
  • 2,009
  • 2,010
  • 2,011
  • 2,012
  • 2,013
  • 2,014
  • 2,015
  • 2,016
  • 2,017
  • 2,018
  • 2,019
  • 2,020
  • 2,021
  • 2,022
  • 2,023
  • 2,024
  • 2,025
  • 2,026
  • 2,027
  • 2,028
  • 2,029
  • 2,030
  • 2,031
  • 2,032
  • 2,033
  • 2,034
  • 2,035
  • 2,036
  • 2,037
  • 2,038
  • 2,039
  • 2,040
  • 2,041
  • 2,042
  • 2,043
  • 2,044
  • 2,045
  • 2,046
  • 2,047
  • 2,048
  • 2,049
  • 2,050
  • 2,051
  • 2,052
  • 2,053
  • 2,054
  • 2,055
  • 2,056
  • 2,057
  • 2,058
  • 2,059
  • 2,060
  • 2,061
  • 2,062
  • 2,063
  • 2,064
  • 2,065
  • 2,066
  • 2,067
  • 2,068
  • 2,069
  • 2,070
  • 2,071
  • 2,072
  • 2,073
  • 2,074
  • 2,075
  • 2,076
  • 2,077
  • 2,078
  • 2,079
  • 2,080
  • 2,081
  • 2,082
  • 2,083
  • 2,084
  • 2,085
  • 2,086
  • 2,087
  • 2,088
  • 2,089
  • 2,090
  • 2,091
  • 2,092
  • 2,093
  • 2,094
  • 2,095
  • 2,096
  • 2,097
  • 2,098
  • 2,099
  • 2,100
  • 2,101
  • 2,102
  • 2,103
  • 2,104
  • 2,105
  • 2,106
  • 2,107
  • 2,108
  • 2,109
  • 2,110
  • 2,111
  • 2,112
  • 2,113
  • 2,114
  • 2,115
  • 2,116
  • 2,117
  • 2,118
  • 2,119
  • 2,120
  • 2,121
  • 2,122
  • 2,123
  • 2,124
  • 2,125
  • 2,126
  • 2,127
  • 2,128
  • 2,129
  • 2,130
  • 2,131
  • 2,132
  • 2,133
  • 2,134
  • 2,135
  • 2,136
  • 2,137
  • 2,138
  • 2,139
  • 2,140
  • 2,141
  • 2,142
  • 2,143
  • 2,144
  • 2,145
  • 2,146
  • 2,147
  • 2,148
  • 2,149
  • 2,150
  • 2,151
  • 2,152
  • 2,153
  • 2,154
  • 2,155
  • 2,156
  • 2,157
  • 2,158
  • 2,159
  • 2,160
  • 2,161
  • 2,162
  • 2,163
  • 2,164
  • 2,165
  • 2,166
  • 2,167
  • 2,168
  • 2,169
  • 2,170
  • 2,171
  • 2,172
  • 2,173
  • 2,174
  • 2,175
  • 2,176
  • 2,177
  • 2,178
  • 2,179
  • 2,180
  • 2,181
  • 2,182
  • 2,183
  • 2,184
  • 2,185
  • 2,186
  • 2,187
  • 2,188
  • 2,189
  • 2,190
  • 2,191
  • 2,192
  • 2,193
  • 2,194
  • 2,195
  • 2,196
  • 2,197
  • 2,198
  • 2,199
  • 2,200
  • 2,201
  • 2,202
  • 2,203
  • 2,204
  • 2,205
  • 2,206
  • 2,207
  • 2,208
  • 2,209
  • 2,210
  • 2,211
  • 2,212
  • 2,213
  • 2,214
  • 2,215
  • 2,216
  • 2,217
  • 2,218
  • 2,219
  • 2,220
  • 2,221
  • 2,222
  • 2,223
  • 2,224
  • 2,225
  • 2,226
  • 2,227
  • 2,228
  • 2,229
  • 2,230
  • 2,231
  • 2,232
  • 2,233
  • 2,234
  • 2,235
  • 2,236
  • 2,237
  • 2,238
  • 2,239
  • 2,240
  • 2,241
  • 2,242
  • 2,243
  • 2,244
  • 2,245
  • 2,246
  • 2,247
  • 2,248
  • 2,249
  • 2,250
  • 2,251
  • 2,252
  • 2,253
  • 2,254
  • 2,255
  • 2,256
  • 2,257
  • 2,258
  • 2,259
  • 2,260
  • 2,261
  • 2,262
  • 2,263
  • 2,264
  • 2,265
  • 2,266
  • 2,267
  • 2,268

public abstract bool Apply(Autodesk.AutoCAD.DatabaseServices.ObjectId idSpace);)
The boolean return value determines if the space has a valid offset boundary. If so, it can be used to deactivate all
boundaries of a certain offset type. The following example shows the framework for a new space rule class:
namespace AecSpaceOffsetStandardBasic
{
public class SpaceRule: AecSpaceRule
{
public SpaceRule()
{
}
public override bool Apply(ObjectId idSpace)
{
//
return false to switch boundary off
}
}
}
Sample Space Rule NullSpace
A common use case is that an area calculation standard includes only net and gross offsets, but no usable offset. You
can accomplish that by implementing a space rule derived from
AecSpaceRule
that always returns false in the
implementation of the
Apply
method. Register one instance of that rule with the usable offset in the standards
implementation of
AecSpaceOffsetStandard.InitRules()
.
A more complex space rule might define that all spaces with an area smaller than a certain predefined value do not
contribute to a certain offset type. The following example shows the space rule that is part of the sample project and
that will invalid all spaces. It is used within the sample standard to switch off the usable boundary:
namespace AecSpaceOffsetStandardBasic
{
public class NullSpace: AecSpaceRule
{
public SpaceRuleNet()
{
}
public override bool Apply(ObjectId idSpace)
{
return false;
}
}
}
Reference:AecSpaceRule Class
The following list shows all members of the
AecSpaceRule
base class:
namespace Autodesk.Aec.SpaceOffsetRulesManager
{
public abstract class AecSpaceRule : AecSpaceOffsetBaseRule
{
public AecSpaceRule();
public abstract bool Apply(
Autodesk.AutoCAD.DatabaseServices.ObjectId idSpace,
Autodesk.Aec.Modeler.Body body);
}
}
Bounding Object Rule (SpaceOffsetRulesManager.AecBoundingObjectRule Base Class)
Bounding object rules allow objects that are bounding the base profile of the space, such as structural members, to be
marked as non-bounding, so that they will not be processed when creating the offset profile. Each standard can define
and apply multiple bounding object rules for each boundary offset type.
Implementation of a Bounding Object Rule
To implement a custom bounding object rule, you need to add a new class that is derived from the
SpaceOffsetRulesManager.AecBoundingObjectRule
base class. The new class needs to implement the
Apply
interface of the
base class and register itself for the object types it should be called for in the constructor by calling the
AecSpaceOffsetRuleBase.RegisterType()
base method. The
Apply
method of this rule type has the following syntax:
Implementing Offset Rules |
1755