İlogic ile değişken boya sahip profilin deliklerini tanımlamak

İlogic ile değişken boya sahip profilin deliklerini tanımlamak

statik2
Contributor Contributor
1.607 Görüntüleme
11 Yanıt
Mesaj 1 / 12

İlogic ile değişken boya sahip profilin deliklerini tanımlamak

statik2
Contributor
Contributor

Merhaba , 

 

Üretimi bize ait , üzerinde 50 mm'de bir aynı düzen delik yapısına sahip olan bir profilimiz vardır. Bu profilin boyuna göre , iLogic ortamında delik tanımlamaları yapmak istiyoruz. Çok delikli yapısı olmasından ötürü proje bazlı olarak neredeyse bütün delikler kullanılabilmektedir. Ekteki omega profil görselinde görebilirsiniz. Profilin boyuna bağlı olarak çoğalan bu delikleri iMate ya da matrix yöntemleri ile mi tanımlamalıyız ? Ya da sizlerin önerebileceği başka bir yöntem mevcut mudur ? Bu tanımlamalar sayesinde hem profilleri o noktaya getirecek hem de civata ile bağlantılarını sağlayacağız. 

 

Ekteki diğer görselde örnek bir uygulama bırakılmıştır. Gördüğünüz üzere projeden projeye hangi deliklerin kullanılabileceği değişkenlik gösterecektir.  Sorumun daha kolay anlaşılması için bu görseli bıraktım. 

 

Değerli cevaplarınız için şimdiden teşekkür ederim. İyi çalışmalar dilerim.

 

  

Kabul edilen çözümler (1)
1.608 Görüntüleme
11 Yanıt
Replies (11)
Mesaj 2 / 12

salih_kapucu
Advocate
Advocate

Merhaba,

 

Ben pattern komutu ile kontrol etmenizi tavsiye ederim.

1) Kenara belirli bir mesafede olan ilk deliğinizi açın.

2) Oluşturduğunuz deliği pattern komutu ile çoğaltın. Burada adet kısmına (vida_adet=2ul) mesafe kısmına (vida_mesafe=10mm) olacak şekilde bırakabilirsiniz.

2) Uzunluğa bağlı formülünüzü oluşturarak aşağıda benim daha önce kullandığım kurala benzer birşey yazabilirsiniz.

'başlangıca mesafe 150mm ve bitişe mesafesi 150mm aralıklarla delik delme uygulaması
vida_adet
= Ceil((uzunluk - 150) / 300) vida_mesafe = (uzunluk - 300) / (vida_adet)

ceil komutunu mutlaka kullanmanızı öneririm.

 

Mesaj 3 / 12

statik2
Contributor
Contributor

Salih Bey , 

 

Verdiğiniz değerli ve yararlı cevap için teşekkür ederim. Fakat benim deliklerim zaten profilin uzunluğuna bağlı olarak otomatik olarak artıp azalmaktadır. Benim sormak istediğim bu açtığım deliklerin nümerik olarak adlandırılması ( bir ilişki kurdurmak veya o noktadan civata ile bağlamak v.b.) Ben yine de cevabınız için teşekkürlerimi sunarım. 

0 Beğeni
Mesaj 4 / 12

salih_kapucu
Advocate
Advocate

Delikleri tanımlamanız için şayet bu delikleri işlem sırası olarak önce deliği delip (ürün ağacında extrusion2 gibi ) ardından ürün ağacından deliği seçip çoğaltmayı kullanıyorsanız. Patterni patlatmak için ilogicde bir kural yazabilirsiniz bu sayede ardışık bir şekilde inventor kendisi delikleri adlandıracaktır. İsterseniz pattern patlatma ile alakalı örnek bir ilogic kuralı gönderebilirim.

 

Siz delikleri civata montajlamak için tanımlamak istiyorsanız daha basit bir öneride bulunabilirim.

Mesaj 5 / 12

statik2
Contributor
Contributor

Salih Bey , 

 

İlginiz için teşekkür ederim. Profilimin datasını ekte bulabilirsiniz. Sizdeki patterni iLogic ile patlatma örneğinin alabilirim. Patlatma işlemini altta bir sketch referansı ile yaptığımı da not olarak ekleyeyim. 

0 Beğeni
Mesaj 6 / 12

salih_kapucu
Advocate
Advocate

Aşağıdaki kural bir montaj dosyası için hazırlanmıştır. Bunu ipt için uyarlamanız ve bazı değişiklikler yapmanız gerekecektir.

 

İyi çalışmalar dilerim.

Sub Main()
        Dim oDoc As AssemblyDocument
        oDoc = ThisApplication.ActiveDocument

        Dim oPattern As OccurrencePattern
        oPattern = GetPattern(oDoc)
        If oPattern Is Nothing Then
            MsgBox("Nothing for explode")
            Return
        End If

        Dim t As Transaction = ThisApplication.TransactionManager.StartTransaction(ThisDoc.Document, "Pattern explode")
        Try
            'ikinci elemandan başlayarak her elemanı bapımsız yapın
            Dim i As Integer
            'ikinci elemandan sonra patternde kaç eleman olduğunu say
            For i = 2 To oPattern.OccurrencePatternElements.Count
                'tüm elemanları bağımsız yapma kodu
                oPattern.OccurrencePatternElements.Item(i).Independent = True

            Next
            'dosya bağımsızlaştığı için patterni sil.
            oPattern.Delete()
            t.End()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
            t.Abort()
        End Try
    End Sub

    Private Function GetPattern(ByVal oDoc As AssemblyDocument) As OccurrencePattern
        Dim pattern As OccurrencePattern
        'pattern = oDoc.ComponentDefinition.OccurrencePatterns.Item("Component Pattern 1:1")
        pattern = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyOccurrencePatternFilter, "Select pattern for explode")
        Return pattern
    End Function
Mesaj 7 / 12

statik2
Contributor
Contributor

Sizin verdiğiniz kodlama sanırım montaj ortamındaki "pattern" veya "occurence" fonksiyonlarını patlatmak için çalışıyor. Parça ortamındaki "rectangular pattern" işlemlerini dahil etmiyor. 

 

Paylaştığınız veriler için teşekkür ederim.

0 Beğeni
Mesaj 8 / 12

salih_kapucu
Advocate
Advocate

Evet montaj dosyası için hazırlanmıştır. Bunu bende başka bir yerden bulup kendi dosyama uygun hale getirmiştim. Ancak part dosyası için denemeniz gerekecektir. Bende part ortamı için uyarlamaya çalıştım fakat bunu başaramadım.

Yaptığınız dizaynda amacınız delik sayısına bağlı olarak civata eklemekse bunu zaten montaj ortamında yapmanız gerekiyor. Bu işlemi yaparken ipt dosyasındaki ilk deliklerin olduğu konuma gerekli bağlantı elemanlarını ekleyin ve pattern komutu ile bu bağlantı elemanlarını parametrik bir şekilde çoğaltın. Burada her deliğe bağlantı elemanı eklemeseniz bile ekleyeceğiniz bağlantı elemanı bir kural çerçevesinde ise yine bu şekilde yapabilirsiniz. 

Anladığımın dışında bir durum varsa ihtimalleriniz tanım olarak sonsuza gidiyorsa bunu yapmak zor olabilir.

 

Umarım aradığınız cevaba bir şekilde ulaşırsınız.

 

İyi çalışmalar.

Mesaj 9 / 12

Gokhan_Kaya
Mentor
Mentor

Merhaba @salih_kapucu @statik2 

Salih beyin verdigi örnek kod part ortamına şu yüzden uyarlanamaz 

Part ortamında pattern seceneginde indipendent secenegi olmadıgından bu kod part ortamı için de çalışmaz 

part ortamında sadece suppress özelligi ile itemlar yok edilebilir bagımsızlaştırılamaz 

 


Forumlarımızda çözülen sorularınızı "ÇÖZÜM OLARAK KABUL ET" ("Accept as Solution") seçimiyle işaretlemeyi lütfen unutmayın.
Beğendiğiniz mesajları lütfen "Övgü Puanı" ("Kudo") ile ödüllendirin.

Gökhan Kaya
Tehcnical Manager
Autodesk Inventor Certified Professional 2015
LinkedIn



MSI WS 60 i7 Quadro M2000M

Mesaj 10 / 12

talha.tufan523TD
Advocate
Advocate

Merhaba, 
Bu delikleri adresleyip montajda kullanmak istiyorsanız. Deliklerden bağımsız yine iLogic ile parametrelere bağlı point atarak bu pointlerden imate ile ilişkileri yapabilirsiniz. Umarım yardımcı olmuştur. Kolay gelsin.  

Mesaj 11 / 12

Olcay.Kuk
Alumni
Alumni

Merhaba @statik2 


@talha.tufan523TD tarafından paylaşılan son öneri faydalı oldu mu? Son durum hakkında bilgi paylaşmanızı rica ederiz.


Çözüm önerisi faydalı oldu ise ÇÖZÜMÜ KABUL ET olarak işaretlemenizi önemle rica ederiz.

Forumlarımızda çözülen sorularınızı lütfen  ÇÖZÜMÜ KABUL ET  olarak işaretleyin!
Beğendiğiniz mesajları lütfen "BEĞENİ" ile ödüllendirin!


Olcay Kük
Topluluk Yöneticisi


0 Beğeni
Mesaj 12 / 12

statik2
Contributor
Contributor
Kabul edilen çözüm

Merhabalar , 

 

Part ortamında istediğim delik detaylarından bir "Work Axis" çizgisi atarak bunu iLogic kod kuralı ile boya bağlı olarak "Rectangular Pattern" işlemi ile deliklerin tanımlamasını yapmış bulunmaktayım. iMate çözümü , boya bağlı olarak çoğaltılamadığı için çok pratik durmamaktadır. 

 

İyi çalışmalar dilerim.