Excel'de belirlenen koordinatlarda bir blok oluşturmak

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

anfaloni

Guest
Herkese merhaba ve birçok ilginç fikir için her zaman övgüler. .Bu forumda asla öğrenmezsiniz!! Birkaç gün çözmeye çalıştığım bir probleme sahip olmak istedim... Uygulamada, bir numeric markasının yer aldığı ve x y z koordinatları bana her satır için mükemmel tablo niteliklerinin bir özelliğine sahip olan bir makro olarak hizmet edecekti ve sonra da ericnum markasıyla ilişkili olan mükemmel çizgide gösterilen koordinatlara taşınırdım.

Birkaç kelimede, eğer bir satırda okuduğum gibi: sayı işareti n2, koordineli x, y, z, o zaman her üst masanın üst sırasına kadar, otocad bloğumda "numeric işareti" nin değerini alır ve sonra x'in alanına taşındım. Tüm masa noktaları için bu.

Sizin için mümkün mü? Bu konuda herhangi bir görüşe sahip misiniz? Bana yardım edebilir misin? dozavailability için önceden teşekkürler
 
Üzgünüm son zamanlarda forumu görüyorum,
Şey uygulanabilir, ancak birkaç ekstra puan alır
Örneğin:
Mevcut bloklarla mevcut dosyaları, mükemmel dosyadan değiştirmek için yeniden yükleme / güncelleştirme
Bloklarla yerleştirilen bloklar olmadan mevcut dosyalar ve mükemmel dosya değiştirme durumunda yeni konumlandırma ile yeni dosya yeniden oluşturma
vs.
 
Herkese merhaba ve birçok ilginç fikir için her zaman övgüler. .Bu forumda asla öğrenmezsiniz!! Birkaç gün çözmeye çalıştığım bir probleme sahip olmak istedim... Uygulamada, bir numeric markasının yer aldığı ve x y z koordinatları bana her satır için mükemmel tablo niteliklerinin bir özelliğine sahip olan bir makro olarak hizmet edecekti ve sonra da ericnum markasıyla ilişkili olan mükemmel çizgide gösterilen koordinatlara taşınırdım.

Birkaç kelimede, eğer bir satırda okuduğum gibi: sayı işareti n2, koordineli x, y, z, o zaman her üst masanın üst sırasına kadar, otocad bloğumda "numeric işareti" nin değerini alır ve sonra x'in alanına taşındım. Tüm masa noktaları için bu.

Sizin için mümkün mü? Bu konuda herhangi bir görüşe sahip misiniz? Bana yardım edebilir misin? dozavailability için önceden teşekkürler
Tartılmış kanıtEkli dosyayı görüntüle Creazione blocco da Excel.rar
 
Kullanılabilirlik için çok teşekkür ederim! Bunu analiz edeceğim ve test edeceğim! Tekrar teşekkürler!
 
@ricvba
mazeret ama dvb'i yüklediğiniz zaman nasıl çalışırsınız, şifreyi sorarsınız ve ne makro çalıştıracağını bilmiyor musunuz?
@anfaloni
Buraya bakın http://www.myengineeringworld.netYazar kodu “x” bir özellik atamak için değiştireceğini söyledi
 
Bu kodla, hangi iyi gider, mükemmel bir blok ekleyebilirsin
seçeneği açık

“ Blokun ölçek faktörlerini tutan özel bir tür.
Özel tip ölçek faktörü
x olarak çift
y as double
çift olarak
end tipi

subblocks()

"-!"
'Teklifleri kullanarak otomatik bloklar - ekleme noktası, blok adı / tam yol, ölçek faktörleri, rotasyon açısı - mükemmellikten.
“ Blok adı veya blok yolu zaten var olması gerekmez, aksi takdirde hiçbir şey eklemez.
“ kod geç bağlayıcı kullanır, bu yüzden dış otomatik (tip) kütüphaneye referans gerekmez.
“Bu kodu çalıştırmadan önce bilgisayarınızın üzerine kurulu olması gerektiğini söylemeye gerek yok.

“Yazar: christos samaras
Tarih: 21.04.2019
'e-posta: [email protected]“evet: http://www.myengineeringworld.net"-!"

“ gerekli değişkenleri gösterir.
dim acadapp as object
dim acaddoc as object
dim acadblock as object
dim lastrow as long
dim i as long
dim addionpoint(0 to 2) çift olarak
dim blockname as string
dim blok boyutu ölçek faktör olarak
dim rotasyonu çift olarak

“ koordinatlar sayfasını etkinleştirin ve son sırayı bulun.
çarşaflar ()
.activate
Sonrow = .cells (.rows.count, "a").end(xlup).row
Sonunda ile

“En az bir çember için koordinatlar varsa kontrol edin.
Eğer sonrow < 2 sonra
msgbox "uygunluk noktası için koordinat yok!", vb.
çıkış alt alt alt
Sonunda, eğer sona erirse

" autocad uygulaması açıksa kontrol edin. Eğer açılmamışsa yeni bir örnek yaratır ve görünür hale getirir.
Hatada bir sonraki sefere devam ediyor
acadapp = getobject (, "autocad.application")
Eğer acadapp bir şey değilse o zaman
acadapp = createobject ("autocad.application")
acadapp.visible = true
Sonunda, eğer sona erirse

'check (again) eğer otocad bir nesne varsa.
Eğer acadapp bir şey değilse o zaman
msgbox "sorry, otocad'a başlamak imkansızdı!", vb.
çıkış alt alt alt
Sonunda, eğer sona erirse
Hata goto 0

“ Aktif bir çizim yeni bir tane yaratmıyorsa.
Hatada bir sonraki sefere devam ediyor
acaddoc = acadapp.activedocument
Eğer acaddoc bir şey değilse o zaman
acaddoc = acadapp.documents.add
Sonunda, eğer sona erirse
Hata goto 0

Aktif alan kağıt alanıysa ve onu modellemek için değiştirir.
Eğer acaddoc.activespace = 0 sonra '0 = erken bağlayıcılık alanı
acaddoc.activespace = 1 '1 = erken bağlayıcılık alanı
Sonunda, eğer sona erirse

Hatada bir sonraki sefere devam ediyor
“Tüm satırlar boyunca ve otocaddaki ilgili blokları ekleyin.
çarşaflar ()
i = 2 to lastrow
" Blok adını girin.
Blok adı = .range("d" & i). değer değeri değer değeri
“Eğer blok adı boş değilse, bloğu ekleyin.
Eğer blok adı <> vsnullstring sonra
"Katılım noktası.
Addionpoint = **** .range ("a" & i). değer değeri değer değeri
Addionpoint (1) = .range("b" & i). değer değeri değer değeri
Addionpoint(2) = .range("c" & i). değer değeri değer değeri
“ Seçmeli parametrelere dikkat edin.
blokscale.x = 1
blokscale.y = 1
blokscale.z = 1
Döndürme = 0
Seçmeli parametreler (eğer ilgili aralıklarda değerler varsa).
Eğer .range ("e" ve i.value <> vnullstring sonra blokscale.x = .range ("e" & i). değer değeri değer değeri
Eğer .range ("f" & i).value <> / etcnullstring then blockscale.y = .range("f" & i). değer değeri değer değeri
Eğer .range ("g" & i).value <> / vnullstring then blockscale.z = .range("g" & i). değer değeri değer değeri
Eğer .range ("h" & i)değer <> / sonra döndürmek = .range("h" & i). değer değeri değer değeri
“Doğal verileri kullanarak bloğu ekleyin (kesinlik noktası, blok adı, ölçek faktörleri ve rotasyon açısı).
" 0.0174532925, radians'a derece dönüştürmektir.
acadblock = acaddoc.modelspace.insertblock(insertionpoint, blockname, _
blokscale.x, blokscale.y, blokscale.z, rotasyon bok * 0.0174532925)
Sonunda, eğer sona erirse
Bir sonraki i
Sonunda ile

“Hazır alana kadar.
acadapp.zoomextents

“Haydileri serbest bırak.
Acadblock = Hiçbir şey
Acaddoc = Hiçbir şey
acadapp = hiçbir şey

Kullanıcıyı süreçle ilgili olarak ifade edin.
msgbox " Bloklar otomatik olarak yerleştirildi!", vb., "finished"

Sonunda alt alt
Şimdi daha iyi biri, bazı değişiklikler yapmak faydalı olacaktır
Örneğin

Şu anda, mükemmellikten, bloku seçin, koordinatları ve merdivenleri ayarlayın
Sorudaki bloğun bu niteliklere sahip olduğunu varsayın:
- tag1
- Term01
- Term02
- xref
Kodu değerleri atamak için nasıl değiştirebilirsiniz?
 
Bana şifre talep etme

Ekran araçları-> makro-> yönetim vsa
Pencereyi "geçmiş vba" açar.
"load" düğmesine tıklayın ve dosyayı "en iyi v2014_11_23.dvb" dan aldığınız klasöre gidin.
"open" düğmesine tıklayın
Bu noktada hafızada dvb var
Click tools->macro->macro and select what end with "...creation blocks from Excellence v2014_11_23.dvb!a1_main.updateblocchidaexcel"
 
Bu kodla, hangi iyi gider, mükemmel bir blok ekleyebilirsin


Şimdi daha iyi biri, bazı değişiklikler yapmak faydalı olacaktır
Örneğin

Şu anda, mükemmellikten, bloku seçin, koordinatları ve merdivenleri ayarlayın
Sorudaki bloğun bu niteliklere sahip olduğunu varsayın:
- tag1
- Term01
- Term02
- xref
Kodu değerleri atamak için nasıl değiştirebilirsiniz?
dvb'ımı güncelledim ama ek yük prosedürü bana çalışmıyor: Dosyayı Apple'dan seçtikten sonra "download file" düğmesine tıklayın ama bir hata mesajı "407 görünüyor [IOErrorEvent type='ioError' bubbles = false cancelable=false eventPhase=2 text="Error #2038"]
 
Üzgünüm ama postunuzu iyi anlamadım.
Dvb'ımı güncelledim ama ek yük prosedürü çalışmıyor
Eklenen prg, üstün olarak kullanılır, bu yüzden bir xlsm, buraya giderseniz buraya gidin. http://www.myengineeringworld.net/2014/07/insert-blocks-autocad-excel-vba.html
"Download file" düğmesine tıklayın
Bu dvbbb
Sonra hata
Her neyse her şeyi ayrı ayrı her şey
Bana göre, kadro tarafında ve onunla ilgili her şey hakkında yeteneklisin
Şimdi tam tersinden bahsediyoruz, bu durumda mükemmel
Dvb x ile etkileşime girmek için kullanılır
Bunun yerine, autocad ile etkileşim kurmak için mükemmel kullanmak istiyorsunuz
Şimdiye kadar her şey bloklarla iyi çalışır
eksik olan şey: [blocco]aa1, sigla [TAG1] sps1, bir örnek
Merhaba.
 
Üzgünüm ama postunuzu iyi anlamadım.

Eklenen prg, üstün olarak kullanılır, bu yüzden bir xlsm, buraya giderseniz buraya gidin. http://www.myengineeringworld.net/2014/07/insert-blocks-autocad-excel-vba.html Bu dvbbb
Sonra hata
Her neyse her şeyi ayrı ayrı her şey
Bana göre, kadro tarafında ve onunla ilgili her şey hakkında yeteneklisin
Şimdi tam tersinden bahsediyoruz, bu durumda mükemmel
Dvb x ile etkileşime girmek için kullanılır
Bunun yerine, autocad ile etkileşim kurmak için mükemmel kullanmak istiyorsunuz
Şimdiye kadar her şey bloklarla iyi çalışır
eksik olan şey: [blocco]aa1, sigla [TAG1] sps1, bir örnek
Merhaba.
qs forumdaki mesajlarıma ek yükleyemeyeceğimi söyledim. Yüklemek istediğim ek, dvb veyaigniariamente'nin 23/11/2014'te yayınladığı değişikliklerle birkaç gün önce sorduğunuz şeyleri yapmak.

Ne zaman yaparım, dvbb

xslm'deki "dönüşüm" bir sorun değildir. Autocad ile arasında, bir veya diğer uygulamadan, birkaç varyasyonla farklı olarak başlıyoruz. Ama ekleri yükleyinceye kadar, yapmak biraz var
 
qs forumdaki mesajlarıma ek yükleyemeyeceğimi söyledim. Yüklemek istediğim ek, dvb veyaigniariamente'nin 23/11/2014'te yayınladığı değişikliklerle birkaç gün önce sorduğunuz şeyleri yapmak.

Ne zaman yaparım, dvbb

xslm'deki "dönüşüm" bir sorun değildir. Autocad ile arasında, bir veya diğer uygulamadan, birkaç varyasyonla farklı olarak başlıyoruz. Ama ekleri yükleyinceye kadar, yapmak biraz var
Dosyayı "en iyileştirici bloklar" içeren ekleyin:
- Mükemmel v2015_01_14.dvb'dan oluşturma blokları; makro "a1_main.updateblocchidaexcel"i dönüştürebilmeli;

- üst-2.xlsx bloklar oluşturmak; Yukarıda bahsedilen dvb'in makro tarafından okunacak uygun formattaki verilerle "attributed" sayfası ile. ihtiyaçlarınız için değişim/add rows ve sütunları değiştirebilirsiniz
. İlk çizgi manşetlere adanmıştır. Bunlardan sadece 3rd sütundan gelen önemli olanlar, özelliklerin isimlerinin okuduğunuz yerde okunur.
. İlk üç sütun, blokajın koordinatlarına adanmıştır.
. İlerideki 4th sütunları niteliklere adanmıştır;

- Mükemmel v2015_01_14.dwg'dan güncel bloklar; xlsx dosyasının isimlerini içeren zaten örnekler içeren bloklar
 

Ekli dosyalar

Hem otocad hem de dosyalarınızla mükemmelim
Autocad, dwg (Projeyi hafızadan yükleyecek şekilde) açmamı sağladı ama açtı
Makro idem, yapılmadı, problemin "atributed" adı ile mükemmel dosyayı yeniden adlandırması ile engellendi.
7 octagonlar, üstte atanan niteliklerle görünür.

Belki de belki de belki de Ben yanılıyorum ama tartışma, belli bir seçilmiş blok eklemek ve davanın özelliklerini atamak zorunda olduğum gerçeği üzerine ayarlanmıştır.
Üstündeki koordinatlarda bir blok oluşturmakBunun için cevap verdim

Ayrıca,
Birkaç kelimede, eğer bir satırda okuduğumda: sayı işareti n2, koordineli x, y, z,
Bunu masanın her satırı için autocad istiyorum, otocad'da istiyorum
Özellikler içeren uygun otomatik blok
"numeric işaret", hücrenin değerini sayısal markaya ve numeric markaya göre alır.
Ardından x,y,z mükemmel dosya hattında uzayı koordine etti.
Tüm masa noktaları için bu.
Bu yüzden düşünüyorumCattura_blocco.GIF"numeric mark" da tag1 olabilir, bir özelliktir

Genellikle bir blok özelliklerin bir numarası (x) vardır
Sonra blok sahibi olmak, ev1.dwgg
Ekle koordinatlar, x, y, z
ölçekler, x ölçek, y ölçek, z ölçek
rotasyon
Özellikler etiketini değiştirmek için bilmek
Değeri nasıl değiştirebilirsiniz
 
Hem otocad hem de dosyalarınızla mükemmelim
Autocad, dwg (Projeyi hafızadan yükleyecek şekilde) açmamı sağladı ama açtı
Makro idem, yapılmadı, problemin "atributed" adı ile mükemmel dosyayı yeniden adlandırması ile engellendi.
7 octagonlar, üstte atanan niteliklerle görünür.

Belki de belki de belki de Ben yanılıyorum ama tartışma, belli bir seçilmiş blok eklemek ve davanın özelliklerini atamak zorunda olduğum gerçeği üzerine ayarlanmıştır.
Üstündeki koordinatlarda bir blok oluşturmakBunun için cevap verdim

Ayrıca,


Bu yüzden düşünüyorumEkli dosyayı görüntüle 39330"numeric mark" da tag1 olabilir, bir özelliktir

Genellikle bir blok özelliklerin bir numarası (x) vardır
Sonra blok sahibi olmak, ev1.dwgg
Ekle koordinatlar, x, y, z
ölçekler, x ölçek, y ölçek, z ölçek
rotasyon
Özellikler etiketini değiştirmek için bilmek
Değeri nasıl değiştirebilirsiniz
Makro herhangi bir mükemmel dosya adı ile çalışır, önemli olan şey, bir "attributed" sayfası vardır ve aktif olmasıdır. Sanırım bu klasörü içeren mükemmel dosyayı ilk tetiklemeden önce makro koştunuz. Ama onu yeniden adlandırmak (ve aynı zamanda aktif hale getirdiniz ve bu nedenle, çalışma.

İlk tartışma, 22/10/2014 tarihli bir holoni isteği üzerine kuruldu. 23/10 Onu yerine getiren dvb'i yayınladım. O sana bilmene izin verdiğini söyledi, ama henüz bir reconventions yoktu.
Net üzerinde balık içtiğiniz kod ve 12/01'de önerilen diğer şeyler bir faloni tarafından sorulduğunda, çok genel temada kalırken (ve çok genel) "blok-autocad-excel"

Daha sonra daha açıklayıcı bir istek gönderdiniz. İlk satırda, amphalonların bir uzantısı olduğunu fark ettim, "sözdeki blokun bu niteliklere sahip olduğunu" okudum ve bu nedenle daha genel hale getirdim, ancak her zaman blokların çizimde mevcut olduğunu ve bu özelliklerin hepsi arasındaki farklar arasında olduğunu fark ettim.

Şimdi, isteğinizin doğrudan isim (ve dolaylı olarak belirli niteliklere sahip olmak) ve bunları eklemek için blokları belirtmeniz gerektiğini daha iyi anlıyorum, diğerleri arasında, kullanıcı tarafından seçilen bir özelliğin değeri. Bu nedenle, kullanıcı tarafından seçilen özelliklerin gerçekten kullanıcı tarafından seçilen blokta yer aldığını varsayın.
Bu öyle mi?
 

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