Forum Konstruktor budowlany Strona Główna Konstruktor budowlany
Forum projektantów
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Pomocy - bloki dynamiczne

 
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> CAD
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krystian
Aktywny Forumowicz



Dołączył: 28 Paź 2009
Posty: 37
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Czw 14:48, 01 Kwi 2010    Temat postu: Pomocy - bloki dynamiczne

Witam,

Mam problem, muszę na rysunkach opisywać koty wysokościowe podając wysokości względne i bezwzględne.

Czy ma ktoś z Was taki gotowy blok? Chciałem tylko raz podać w nim wartość zera budynku, natomiast wpisywać za każdym razem kotę względną ale wyświetlane mieć:

poziom względny = poziom bezwzględny (który sam by się policzył względem zera)

próbowałem zrobić blok dynamiczny ale niestety poległem.

Jeśli ktoś ma taki blok to byłbym wdzięczny.
Ewentualnie proszę o wskazówki jak taki blok zrobić...

Pozdrawiam
K


Post został pochwalony 0 razy

Ostatnio zmieniony przez Krystian dnia Czw 15:16, 01 Kwi 2010, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
piotrbu (Piotr Buśka)
Doświadczony Forumowicz



Dołączył: 19 Sty 2010
Posty: 1018
Przeczytał: 6 tematów

Pomógł: 28 razy
Ostrzeżeń: 0/5
Skąd: Okolice Warszawy

PostWysłany: Czw 20:07, 01 Kwi 2010    Temat postu:

Ciężko zrozumieć o co Ci chodzi.
Generalnie blokiem dynamicznym (jak domyślam się w AutoCadzie) możesz zrobić kotę korzystającą z elementów rysunkowych czyli np. z linii wymiarowania, do której dodasz parametr liniowy i akcję Strech. Nie da się zrobić tym koty, która będzie sama coś tam obliczała i wstawiała odpowiedni tekst.

Powinieneś raczej zainteresować się VBA lub AutoLisp.
Przykładowy kod, który aktualizuje rzedne kot (bloki o nazwie "kota-vba" z jednym atrybutem o nazwie "rzedna1") w oparciu o podaną rzędną 0.

Kod:

Public Sub AktualizujKoty()
  Dim Sset As AcadSelectionSet
  Dim GC(0 To 2) As Integer
  Dim DV(0 To 2) As Variant
 
  ' zaznaczenie bloków
  On Error Resume Next
  If Not IsNull(ThisDrawing.SelectionSets.Item("Koty")) Then
    Set Sset = ThisDrawing.SelectionSets.Item("Koty")
    Sset.Delete
  End If
  On Error GoTo 0

  Set Sset = ThisDrawing.SelectionSets.Add("Koty")
  GC(0) = -4: DV(0) = "<or"
  GC(1) = 0: DV(1) = "Insert"
  GC(2) = -4: DV(2) = "or>"
  Sset.SelectOnScreen GC, DV
 
  ' pobranie rzędnej 0
  Dim Zero
  Zero = ThisDrawing.Utility.GetPoint(, "Wskaż rzędną zero: ")
 
  ' znajdź elementy i zmień
  Dim Elem As AcadEntity
  Dim BlockRef As AcadBlockReference
  Dim Attribs
  For Each Elem In Sset
    If Elem.EntityType = 7 Then
      Set BlockRef = Elem
      If LCase(BlockRef.EffectiveName) = "kota-vba" Then
        Attribs = BlockRef.GetAttributes
        If UBound(Attribs) > -1 Then
          If LCase(Attribs(0).TagString) = "rzedna1" Then
            Attribs(0).TextString = Format((BlockRef.InsertionPoint(1) - Zero(1)) / 100, "###0.00")
          End If
        End If
      End If
    End If
  Next

End Sub


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> CAD Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin