FastFiber
Menu

Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.

Toon bijdragen Menu

Berichten - martijn

#1
Dat idee had ik ook, is het wel mogelijk om een attibuut een statisch id nummer te geven? Want hiermee zou ik het probleem volgens mij op kunnen lossen.
#2
Toegevoegd de tekening onderhoek.
Wanneer je tekening onderhoek opent zie je dat het design no een field is dat de attribute sequence no. uitleest.
Wanneer je nu de dwg onderh_NIEUW insert en redefined, en je doet alles regenereren, dan veranderd het desing no. in de ###.
#3
Hallo,

Hier kom ik niet uit. Iemand die hiermee kan helpen?

Je heb een dynamic blok met attibuten (onderhoek) waarbij 2 waarden van de attributen hetzelfde zijn.
Nu heb ik in 1 attibute een field gemaakt welke de andere attibute (value van object) uitleest. Dit gaat helemaal goed.

Nu moet ik dit blok in ongeveer 200 tekeningen redefinen omdat het daar nog niet goed in staat.

Wanneer ik het dynamic blok nu insert en redefine doet. Dan wordt het nieuwe blok erin gezet. Zodra ik het block update komt er #### te staan. Het object dat uitgelezen moet worden kan niet gevonden worden. Nu zie ik dat het objectid van wat hij zoekt anders is dan wat het attibute is.

Kun je een object (in dit geval een attibute) een vast objectid geven?

Groetjes Martijn
#4
VBA / Volgorde stroomschema
di 18 09 2012, 13:38:53
In welke volgorde kun je dit het makkelijkste kopieeren?

Je maakt een selectie. Het programma moet twee coordinaten terug koppelen. (het minimale en maximale punt) Er wordt een rechthoek getekend door deze twee punten en de afmeting wordt in de linker onderhoek gezet.
Nu moet er een menu verschijnen waar je aangeeft wat er in de attributen komt te staan.
Vervolgens wordt er een blok ge-insert met de ingevulde attributen op een plek die gehaald kan worden uit de eerder uitgelezen coordinaten.

Wat heb ik al geprobeerd

1.  Eerst selectie maken, rechthoek en tekst worden neergezet
Vervolgens menu, invullen en inserten. (krijg het niet voor elkaar om de coordinaten van de selectie te gebruiken. Deze staan in een andere sub)

2.  Beginnen met het menu, invullen, selectie enz. (hierbij krijg ik niet de mogelijkheid om iets te selecteren)

3. Het selecteren en uitlezen van coordinaten in een function gezet. Ook nu krijg ik niet de mogelijkheid om iets te selecteren.

Waar het eigenlijk op neer komt is dat wanneer je naar een menu gaat om iets in te vullen en vervolgens een knop gebruikt kom je in een andere sub terecht. Maar ik wil wel gegevens van een andere sub gebruiken.
Hoe maak ik deze coordinaat waarden zodat ik ze in elke sub kan gebruiken.

Iemand?

Martijn
#5
AutoCAD probleem / Tekeningen versturen
di 11 09 2012, 10:38:48
Hoe doen jullie dit,

Elke week moet ik tekeningen opsturen. Dit gaat nu alsvolgd

Ik genereer een tekeningenlijst met Extract Data. Hierin worden de onderhoeken van de tekeningen uitgelezen en in een excel bestand geplaast.
Deze lijst kan in vervolgens in excel (wat niet lokaal staat) netjes en goed maken. Niet altijd alles is consequent ingevult in de onderhoek.
Vervolgens ga ik de tekeningen afdrukken met publish naar pdf en als hardcopy.
Dan maak ik met etransmit de gebinde dwg versies aan.
Vervolgens doe ik alle digitale bestanden syncroniseren met de FTP server.

Dit zijn vrij veel handelingen en is dan ook tijdrovend. Een groot nadeel is ook dat de onderhoek handmatig ingevuld 'kan' worden. Er kunnen ook dingen niet ingevuld worden.

Wat ook tegen mijn gevoel ingaat is dat er tekeningenlijsten zijn in excel en als database bestand en dat wij vervolgens alles met de hand in staan te tikken en je helemaal geen koppeling hebt.

Hoe doen jullie dit soort dingen. Is Vault misschien iets wat je aan onderhoeken kunt koppelen. Kan de sheetmanager iets betekenen?
Gebruiken jullie een heel ander programma hiervoor?

Ik hoor graag van jullie, Martijn
#6
VBA / Re: iNSERT BLOCK
vr 15 06 2012, 10:23:30
Laat ik het anders proberen uit te leggen.
Wat ik wil maken is het volgende.
Er wordt gevraagd om een selectie te maken. Om deze selectie wordt dan een rechthoek getekend met een toeslag. De netto maten van de selectie worden links onder in de zojuist getekende rechthoek gezet.
Vervolgens wordt er een menu getoond, waarin je aanvullende informatie kunt invullen. Deze informatie wordt dan dmv een blok met attributen geinsert in de tekening. Dit blok wil ik dan netjes onder de tekst van de netto maten.

Het programma maakt twee variable aan. (varExtendMin en varExtendMax) hierin staat het minimale en het maximale bereik van de selectie.
Nu wordt varExtendMin variabele gebruikt om de netto maat tekst te positioneren.
Nu weet ik niet hoe ik dit nogmaals kan gebruiken bij het inserten van een blok?

Hoop dat het probleem nu een beetje duidelijk wordt, en misschien moet de volgorde waarin ik nu het programma gescheven heb wel anders.

Groetjes Martijn
#7
VBA / Re: iNSERT BLOCK
di 12 06 2012, 16:50:28
Zo ben er even tussen uit geweest (wat vba betreft dan)
Bedankt voor jullie reacties. Ik kom er alleen nog steeds niet uit.
Wat ik wel vreemd vind is dat hij altijd, ongeacht wat ik invul, het altijd op 100,100 insert.
Ga er nog even mee worstelen. Als er nog ideeen zijn hoor ik het graag.
#8
VBA / Re: iNSERT BLOCK
di 15 05 2012, 10:35:30
Ga ik even mee stoeien
#9
VBA / Re: iNSERT BLOCK
di 15 05 2012, 07:51:32
Laat ik de vraag proberen op een andere manier te stellen.

Er wordt een VBA programma gestart, waarbij er een selectieset wordt gemaakt. Nu wordt er een kader (polyline) om de selectieset getekend en een tekst van de afmetingen van deze selectie geplaatst.
Vervolgens verschijnt er een formulier, waarop de een aantal dingen kunt invullen.
Door op de ok button van dit formulier te klikken wordt er een blok op de tekening geplaatst met attributen die worden ingevuld door de zojuist ingevulde waarden op het formulier.

Om het kader te kunnen tekenen wordt er door het programma gekeken wat de minimale en maximalen x en y waarden zijn van de selectie.
Voor het plaatsen van de tekst wordt ook gebruik gemaakt van deze waarden.

Graag zou ik deze waarden ook willen gebruiken voor het op de juiste positie plaatsen van het blok. Maar omdat het een apparte sub is, kan ik de vorige waarde niet gebruiken. Hoe kan ik deze toch aanroepen?

Iemand?
Ik heb het programma toegevoegd. Het begint misschien een beetje een rommeltje te worden, maar alle tips zijn welkom.

Martijn
#10
VBA / iNSERT BLOCK
ma 14 05 2012, 08:34:04
Waar ik tegen aan loop is het volgende. :cry:

Ik wil een blok met attributen invoegen en dmv een formulier de attributen van te voren invullen.
Het inserten en het invullen van het blok gaat helemaal goed, alleen insert hij het blok altijd op 0,0.
Met andere woorden, hij doet niets met het invoegpunt. Hier zal vast een logische verklaring voor zijn, maar ik weet het even niet meer.
Kan iemand mij hier mee helpen? Het stukje code waar het omgaat staat hieronder.

Groetjes Martijn

Private Sub btnInvullen_Click()
  Dim objBlok As AcadBlockReference
  Dim dblInvoegpunt(0 To 2) As Double

    dblInvoegpunt(0) = 10: dblInvoegpunt(1) = 2: dblInvoegpunt(2) = 0
   
  Set objBlok = ThisDrawing.ModelSpace.InsertBlock(dblInvoegpunt, "C:\Acad_2012_Scripts\Testfase\Cnc-info.dwg", 1, 1, 1, 0)

  Dim varAttributen As Variant
  Dim varAttribuut As Variant

  varAttributen = objBlok.GetAttributes
  For Each varAttribuut In varAttributen
    Select Case varAttribuut.TagString
    Case "VRAAG_1"
      varAttribuut.TextString = frmCNCinvoerveld.txtBeschrijving.Value
    Case "VRAAG_2"
      varAttribuut.TextString = frmCNCinvoerveld.txtDikte.Value
    Case "VRAAG_3"
      varAttribuut.TextString = frmCNCinvoerveld.txtAantal.Value
   
    End Select
  Next varAttribuut
 
  objBlok.Update
 
End Sub
#11
AutoCAD probleem / Re: Precisie in Acad
wo 07 03 2012, 15:53:52
Hoi Roy, bedankt voor je reactie. Dat van de oorsprong dat wist ik al maar de rest is zeker aanvullende informatie. Helemaal goed. Het stukje lisp ga ik in de acad2012doc.lsp opnemen.

Helemaal super bedankt.
#12
AutoCAD probleem / Re: Viewport hulp
wo 07 03 2012, 12:28:03
Hoi Marcel,

Dit kun je byv doen met het commando -pan en dan de afstand en richting aangeven.
Wanneer je dit voor meerdere viewports moet doen met dezelfde afstand kun je dit ook makkelijk in een macro opnemen met de record mogelijkheid in acad

Martijn
#13
AutoCAD probleem / Precisie in Acad (opgelost)
wo 07 03 2012, 11:57:53
Even benieuw of dit in te stellen is.

In te stellen zijn de units in acad tot 8 getallen achter de komma. Rond acad het hierna af?
Nu willen we dit niet. Dus de units staan ingesteld op 2 getallen achter de komma.
Daarnaast is bij ons de afspraak dat we op snap tekenen met een nauwkeuringheid van 0,5. Dit gaat goed zolang  je niet teveel met ronde vormen hoeft te werken.
Nu gaat dit te vaak mis. Mensen zetten hun snap even uit of beginnen met een verkeerde template waarin dit dan niet goed is ingesteld. Kortom niet hufterproof

Mijn vraag is kun je de units en snap functie instellen in byv de acad2012doc.lsp zodat als er een tekeningen wordt geopend dit altijd goed ingesteld staat?

Is er anders een mogelijkheid dat als je snap standaard op 0,5 staat ingesteld je zet deze om wat voor reden dan ook even uit deze automatisch op maximaal 0,1 komt te staan, zodat er nooit onnauwkeuriger dan 0,1 getekend kan worden?

Groetjes Martijn
#14
VBA / VBA in Acad 2012 64bits
vr 02 09 2011, 15:52:20
Ik loop tegen het volgende probleem aan.
Op m'n vorige computer windows xp 32 bits had ik een vba programma staan, waarmee ik een laag aanmaakte en de goede kleur en vervolgens een block insert.
Op m'n nieuwe computer windows 7 64 bits krijg ik een foutmelding :

run-time error '429':
Active x component can't craete object

Het programma stopt bij het deel dat ik een kleur voor de laag aanmaak.
zie hieronder het stukje code :


    Dim currLayer As AcadLayer
    Dim newLayer As AcadLayer
    Dim activateLayer As AcadLayer
    Dim AcadLayerColor As AcadAcCmColor
    Dim LayerColor As Long

          Set currLayer = ThisDrawing.ActiveLayer
     
          Set newLayer = ThisDrawing.Layers.Add("K03")
          Set AcadLayerColor = New AcadAcCmColor
          AcadLayerColor.ColorMethod = acColorMethodByRGB
          LayerColor = CLng(117)
          AcadLayerColor.ColorIndex = LayerColor
          Set activateLayer = ThisDrawing.Layers("K03")
          activateLayer.TrueColor = AcadLayerColor
          ThisDrawing.ActiveLayer = activateLayer

Nu kwam ik op internet het onderstaande stukje tegen wat zou moeten helpen tegen dit probleem, ik kom er alleen niet uit.

     Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.18")
     

Iemand anders hier ervaring mee?? Of weet iemand hoe dit op te lossen is?

Groetjes Martijn
#15
 :)Na een weekje vakantie ga ik er weer mee aan de slag, bedankt voor de antwoorden ik ben weer een stuk op weg geholpen.

Helemaal super, het werkt als een trein. Eigenlijk weer heel simpel, maar je moet het even weten.

Bedankt
FastFiber