View Categories

Genişletilmiş Verileri Alma Hakkında (AutoLISP)

1 dakika okuma

Bir uygulama, bir varlığa eklediği genişletilmiş verileri (xdata) aşağıdaki yöntemle elde edebilir:entget.

OentgetBu fonksiyon, bir varlığın tanım verilerini ve talep ettiği uygulamalar için xdata’yı döndürebilir. Uygulama adlarını belirten ek bir bağımsız değişken olan `application`’ı gerektirir. Geçirilen adlarentgetÖnceki çağrıya göre kayıtlı başvurularla uyumlu olmalıdır.regappAyrıca joker karakterler de içerebilirler.

Varsayılan olarak, ilişkisel tarama desenleri xdata içerir. Aşağıdaki örnek kod, bu xdata’nın ilişki listesini göstermektedir. Kodu kullanmadan önce, kapalı bir sınır oluşturun ve sınıra ilişkisel bir tarama nesnesi uygulayın.

( entget ( car ( entsel )) '("ACAD"))

Nesne seçin: İlişkisel bir tarama deseni seçin

Yukarıdaki kodu komut satırına girdiğinizde, aşağıdaki gibi bir liste elde edersiniz:

((- 1 . < Varlık adı : 7ffffb05e10 >) ( 0 . "HATCH" ) ( 330 . < Varlık adı : 7ffffb039f0 >) ( 5 . "1D9" ) ( 100 . "AcDbEntity" ) ( 67 . 0 ) ( 410 . "Model" ) ( 8 . "0" ) ( 100 . "AcDbHatch" ) ( 10 0.0 0.0 0.0 ) ( 210 0.0 0.0 1.0 ) ( 2 . "ANSI31" ) ( 70 . 0 ) ( 71 . 1 ) ( 91 . 1 ) ( 92 . 7 ) ( 72 . 0 ) ( 73 . 1 ) ( 93 . 4 ) ( 10 31.2567 17.3197 0.0 ) ( 10 7.77575 17.3197 0.0 ) ( 10 7.77575 8.83313 0.0 ) ( 10 31.2567 8.83313 0.0 ) ( 97 . 1 ) ( 330 . < Varlık adı : 7ffffb05d50 >) ( 75 . 1 ) ( 76 . 1 ) ( 52 . 0.0 ) ( 41 . 3.0 ) ( 77 . 0 ) ( 78 . 1 ) ( 53 . 0.785398 ) ( 43 . 0.0 ) ) ( 44 . 0.0 ) ( 45 . - 0.265165 ) ( 46 .                                                                                                                    0.265165 ) ( 79 . 0 ) ( 47 . 0.0289642 ) ( 98 . 1 ) ( 10 21.1106 14.5391 0.0 ) (- 3 ( "ACAD" ( 1010 0.0 0.0 0.0 ))))

Aşağıdaki örnek kod, belirtilen iki uygulama için xdata’yı alma işleminin tipik bir sırasını göstermektedir. Uygulama argümanının uygulama adlarını liste biçiminde kabul ettiğini unutmayın:

( setq working_elist
   ( entget ent_name
     '("MY_APP_1" "SOME_OTHER") ; Yalnızca "MY_APP_1"den gelen xdata
  ) ; ve "SOME_OTHER" alınır.
)
(eğer working_elist ise)
  (progn
    ... ; Çalışma varlık gruplarını günceller.
    (entmod working_elist) ; Yalnızca kayıtlı olanlardan xdata
  ); başvurular hala devam ediyor
); working_elist listesi değiştirildi.

Örnek kodun gösterdiği gibi, xdata’yı şu şekilde değiştirebilirsiniz:entgetsonraki bir çağrı kullanılarakentmodTıpkı sizin de kullanabileceğiniz gibientmodNormal varlık tanımı verilerini değiştirmek için. Ayrıca, kendisine iletilen varlık listesinde tanımlayarak xdata da oluşturabilirsiniz.girişYalnızca özel olarak talep edilen uygulamaların xdata verilerini döndürmek, bir uygulamanın başka bir uygulamanın verilerini bozmasını önler. Ayrıca, bir uygulamanın kullanması gereken bellek miktarını kontrol eder ve bir uygulamanın gerçekleştirmesi gereken xdata işlemesini basitleştirir.

Not: Uygulama tarafından iletilen dizeler joker karakterler içerebileceğinden, uygulama adı“*”sebep olacakentgetBir varlığa bağlı tüm genişletilmiş verileri döndürmek.

Tarafından desteklenmektedir BetterDocs

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir