Bloku ve farklı oranlara özellikleri

  • Konuyu başlatan Konuyu başlatan piratabobo
  • Başlangıç tarihi Başlangıç tarihi

piratabobo

Guest
Her şeyi çözemeyeceğim bir problemim var, onun özelliğiyle bir blok oluşturuyorum ve çizimde ekleyeyim, blok bir çember ve niteliklerden oluşur, blok ekinde çemberi bir koordinatta eklemek istiyorum ve başka bir koordinattaki özellik, bir şey mümkün olup olmadığını bilmiyorum, bu yüzden birisi bana doğru bir şekilde verebilir, bu blok oluşturmak ve eklemek için kullandığım koddur:

“Kültürel tabakayı eğer orada değilse,
i = 0 to thisdrawing.layers.count - 1
Adı = thisdrawing.layers.item (i).name
Adı = "etichet" o zaman için çıkış
Bir sonraki i

Eğer < etchet adı daha sonra
Set object = thisdrawing.layers.add("etichet")
Sonunda, eğer sona erirse

tembel = 4 * atn(1)
ag = (pigreco * cdbl(txt_ang.text) / 180
Tür = "data"

‘ ‘ ‘ Blok görüntülerini ekler
Madde() = bölünmüş (cbo_blocco.text, ")
cod = (items(0))

‘ ‘ ‘ Bloku ekler
pnt = budrawing.uttitude.getpoint
x = pnt ****
y = pnt(1)

“Geçmişteki blok varlığını kontrol eder
i = 0 to thisdrawing.blocks.count - 1
Adı = thisdrawing.blocks.item (i).name
Adı = type then exit for
Bir sonraki i

Adı <
p1 **** = 0 Gutenberg p1(1) = 0 (312) p1(2) = 0#
Set oblock = budrawing. Bloklar.add(p1, type)

‘Geçmiş çemberi vurgulamak için
Yarısı = 1.2
Set varlık = oblock.addcircle (p1, yarı)
varlık.color = bered

yükseklik = 3.76
mod = acattributemonormal
değer = "

p2 **** = 3.75: p2(1) = 3.5: p2(2) = 0

= "code": hızlı = ""
Set att = oblock.addattribute(height, mod, quick, p2, etiket, değer)
Attrib.kat = "etichet"
Attrib.color = a white

mod = acattributemodeinvisibleible
değer = "

Etiket = "isim": hızlı = ""
Set att = oblock.addattribute(height, mod, quick, p2, etiket, değer)
Attrib.kat = "etichet"
Attrib.color = a white

mod = acattributemodeinvisibleible
değer = "

tag = "description": quick = ""
Set att = oblock.addattribute(height, mod, quick, p2, etiket, değer)
Attrib.kat = "etichet"
Attrib.color = a white


p2 **** x: p2(1) = y: p2(2) = 0
obkref = budrawing.modelspace. addblock (p2, tip, 1, 1, 1, 0)
obkref.kat = "etichet"

etiket

p2 **** x: p2(1) = y: p2(2) = 0
obkref = budrawing.modelspace. addblock (p2, tip, 1, 1, 1, 0)
obkref.kat = "etichet"
Sonunda, eğer sona erirse


pnt = obkref.getattributes

i = lbound(pnt) to ubound(pnt)
= pnt(s)

Seçilmiş evler etiketi
Evler = "code"
pnt(i)textstring = lbl_codifica.caption
Evler = "isim"
pnt(i)textstring = lbl_nome.caption
Evler = "description"
pnt(i)textstring = lbl_description.caption
son seçim
Bir sonraki i


pnttot = x: pnttot (1) = y: pnttot(2) = 0
obkref = budrawing.modelspace. addblock (pnttot, road & "blocchi\" & cod & ".dwg", 1, 1, ang)
 
Üzgünüm, sadece guruları sormak istedim eğer sorum pratik olarak mümkün değilse, ya da yapabilirseniz, uygun durumda, düz bir cevap için minnettar olurum
 
Üzgünüm, sadece guruları sormak istedim eğer sorum pratik olarak mümkün değilse, ya da yapabilirseniz, uygun durumda, düz bir cevap için minnettar olurum
Ancak "yerli" özellikleri, yarattığınız bloklardan veya sonunda eklediğiniz bloklardan olmalıdır (set obkref = thisdrawing.modelspace. addblock(pnttot, road & "blocchi\" & cod & "dwg", 1, 1, ang)?
 
Her şeyden önce, cevabı sayesinde, "hareketli" nitelikler sonunda eklediğim bloklardan biri olmalı, aslında bloku eklerken özelliği taşımalıyım.
 
dim att as variable
dim x2 (0 ila 2) çift olarak

Att = obkref.getattributes'in özelliklerini döndürür

x1 = att(s)textmentpoint 'Ben, 0'dan sayı özelliklerine kadar elementin sayısı

x2 **** = x1 ‘x2 ****+y 'koordiyon noktasının mutlak veya göreceli özelliğin xini koordine etti
x2(1) = x1(1) 'x2(1) +y “Kesinlikle ya da göreceli öznitelik noktasının koordinatörü
x2(2) = x1(2) 'x2(2) +y 'keşme noktasının mutlak veya göreceli özelliğin zını koordine etti

(i).textmentpoint = x2

Bu yöntem o zaman tüm özellikleri veya sadece kısmen, kaç özelliğin lbound(att)'ı ubound(att)'ı ubound(att) kullanarak kontrol etmek için bilmiyorum.

Eğer koordinat X1'i okumak ve x2'yi doğrudan dezide koordinatlara ayarlayabilirsiniz. .
 
Yukarıdaki kodu kullanmaya çalıştım ve yanlış olduğumu düşünüyorum ama hangileri eklediğimi bilmiyorum, kodu bu şekilde değiştirdim:

pnt = obkref.getattributes

dim x2(0 to 2) çift olarak

== senkronizasyon, yaşlı tarafından düzeltilmiş
x2(1) = 0
x2(2) = 0

i = lbound(pnt) to ubound(pnt)
= pnt(s)

Seçilmiş evler etiketi
Evler = "code"
pnt(i)textstring = lbl_codifica.caption
Evler = "isim"
pnt(i)textstring = lbl_nome.caption
Evler = "description"
pnt(i)textstring = lbl_description.caption
son seçim

prajnt(i).textmentpoint = x2

Bir sonraki i


pnttot = x: pnttot (1) = y: pnttot(2) = 0
obkref = budrawing.modelspace. addblock (pnttot, road & "blocchi\" & cod & ".dwg", 1, 1, ang)

Bloku eklemek, özelliklerin yeri x2'nin değerinin her zaman aynı pozisyonda eklenmiş olsa bile değişmez.
 
Yukarıdaki kodu kullanmaya çalıştım ve yanlış olduğumu düşünüyorum ama hangileri eklediğimi bilmiyorum, kodu bu şekilde değiştirdim:

pnt = obkref.getattributes

dim x2(0 to 2) çift olarak

== senkronizasyon, yaşlı tarafından düzeltilmiş
x2(1) = 0
x2(2) = 0

i = lbound(pnt) to ubound(pnt)
= pnt(s)

Seçilmiş evler etiketi
Evler = "code"
pnt(i)textstring = lbl_codifica.caption
Evler = "isim"
pnt(i)textstring = lbl_nome.caption
Evler = "description"
pnt(i)textstring = lbl_description.caption
son seçim

prajnt(i).textmentpoint = x2

Bir sonraki i


pnttot = x: pnttot (1) = y: pnttot(2) = 0
obkref = budrawing.modelspace. addblock (pnttot, road & "blocchi\" & cod & ".dwg", 1, 1, ang)

Bloku eklemek, özelliklerin yeri x2'nin değerinin her zaman aynı pozisyonda eklenmiş olsa bile değişmez.
çalışmıyor çünkü blok eklemek zorunda olduğunuz özelliği hareket etmeden önce

pnt = obkref.getattributes

İşleyemez çünkü et obkref = budrawing.modelspace insert.block (pnttot, yol & "blok\" & cod & ".dwg", 1, 1, 1, ang)

Sonra ekleyin... böylece değerleri alamazsınız.

Yapmak istediğiniz şey, sadece yapıştırılmış blokun "yerel" bir değişikliğidir, bu yüzden özelliğin pençesini almak ve onu hareket ettirmek gibidir. Daha sonra yapmak zorundasınız.
 
Bunun yerine kullandığım ipuçları sayesinde:

prajnt(i).textmentpoint = x2

Bu:

pnt(i). Addionpoint = x2

ve mükemmel şekilde çalışır
 
Bunun yerine kullandığım ipuçları sayesinde:

prajnt(i).textmentpoint = x2

Bu:

pnt(i). Addionpoint = x2

ve mükemmel şekilde çalışır
Tam tersine yaptığımı düşünüyor, eklenmiş bir blokta eklerdim ve metin noktası evet ile özellik taşımadım.

Muhtemelen aynı sonucu elde etmek için iki şey yaptık !!!
 

Forum İstatistikleri

Konular
58,521
Mesajlar
499,056
Kullanıcılar
104,110
Son Üye
ChristianR

Çevrimiçi Üyeler

Şu anda çevrimiçi üye yok.
Geri
Üst