Read bim data from wall

Hi,
I'm using the command bimwall to add a new wall to my drawing.
Using c# I would like to read the information of that wall related to bim.
I'm receiving a solid3d and I'm not sure how to read the information of that entity.
anyone can help me, please?

Comments

  • Not sure about .NET, however BRX has a class BrxDbProperties, In Python, you can do something like

    from pyrx import Rx, Ge, Gi, Db, Ap, Ed, Brx
    import traceback


    @Ap.Command()
    def doit():
        try:
            ps, id, _ = Ed.Editor.entSel("\nSelect: ")
            if ps != Ed.PromptStatus.eNormal:
                raise RuntimeError("Oops {}: ".format(ps))

            props = Brx.DbProperties.listAll(id)
            for prop in props:
                if "~BIM" in prop:
                    val = Brx.DbProperties.getValue(id, prop)
                    if not val.isValid():
                        continue
                    print(prop, val.format())

        except Exception as err:
            traceback.print_exception(err)




    result

    : DOIT
    Select: AxisAngle~BIM 1.570796
    AxisDelta~BIM 0.000000, 0.000000, 4884.773153
    AxisLength~BIM 4884.773153
    Building~BIM
    Centerline~BIM Off
    ColumnType~BIM
    Composition~BIM
    Description~BIM
    EndPoint~BIM 0.000000, 0.000000, 4884.773153
    GUID~BIM 2UvTjo3G1BY9YgXMmop9hr
    InstancePropertySets~BIM
    Name~BIM
    Profile~BIM EURO HEA 300
    RoomBounding~BIM <bool::true>
    SequenceNumber~BIM
    Space~BIM
    StartPoint~BIM 0.000000, 0.000000, 0.000000
    Story~BIM
    Type~BIM Column


  • Not sure why Bricsys has such a hard time with the forum code tags


    <div>from pyrx import Rx, Ge, Gi, Db, Ap, Ed, Brx</div><div>import traceback</div><br><br><div>@Ap.Command()</div><div>def doit():</div><div>&nbsp; &nbsp; try:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ps, id, _ = Ed.Editor.entSel("\nSelect: ")</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if ps != Ed.PromptStatus.eNormal:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise RuntimeError("Oops {}: ".format(ps))</div><br><div>&nbsp; &nbsp; &nbsp; &nbsp; props = Brx.DbProperties.listAll(id)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; for prop in props:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if "~BIM" in prop:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val = Brx.DbProperties.getValue(id, prop)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not val.isValid():</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print(prop, val.format())</div><br><div>&nbsp; &nbsp; except Exception as err:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; traceback.print_exception(err)</div>




  • ALANH
    edited May 8
    What does the Dumpit show.

    ;;;===================================================================; 
    ;;; DumpIt                                                            ; 
    ;;;-------------------------------------------------------------------; 
    ;;; Dump all methods and properties for selected objects              ; 
    ;;;===================================================================; 
    (defun C:Dumpit ( / ent) 
      (while (setq ent (entsel "\n pick object ")) 
        (vlax-Dump-Object 
          (vlax-Ename->Vla-Object (car ent)) 
        ) 
      ) 
      (princ) 
    )

    ;(dumpallproperties (car (entsel)))

    Just a ps how do I wrap code here usually use [code]