FastFiber

vba probleem

Gestart door andre, ma 27 02 2006, 22:02:14

Vorige topic - Volgende topic

andre

Heren en of Dames,
wie kan mij helpen met dit probleem, met onderstaand scriptje wil een
een block plaatsen genaamd dummy, maar als ik het start gaat het fout bij de regel
Set blockrefobj = Thisdrawing.etc
ik wordt direct uit autocad gegooid, en kan de boel opnieuw opstarten.
schakel ik de laatste twee regels uit, dan is er niks aan de hand,
dus mijn conclusie: het ligt aan die bewuste regel.
wie weet hier wat meer van
bvd
Groet
andre    

Dim returnPnt As Variant
   Dim insertionPnt(0 To 2) As Double
   Dim blockRefObj As AcadBlockReference
   Dim textobj As AcadText
   ThisDrawing.Utility.prompt "Plaats Insertionpoint"
   returnPnt = ThisDrawing.Utility.GetPoint
   insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
   insertionPnt(1) = insertionPnt(1) - 7.5
   
   
   Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt,  "DUMMY.DWG", 1#, 1#, 1#, 0)
   blockRefObj.Layer = "0"
   

Remo

haal de eerste regel maar weg..... returnpnt niet declareren....

Dim returnPnt As Variant
   Dim insertionPnt(0 To 2) As Double
   Dim blockRefObj As AcadBlockReference
   Dim textobj As AcadText
   ThisDrawing.Utility.prompt "Plaats Insertionpoint"
   returnPnt = ThisDrawing.Utility.GetPoint
   insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
   insertionPnt(1) = insertionPnt(1) - 7.5
   
   
   Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt,  "DUMMY.DWG", 1#, 1#, 1#, 0)
   blockRefObj.Layer = "0"


dan zou hij moeten werken....



andre

Remo,
Bedankt voor de tip, maar helaas ook dat mocht niet baten,
kan het iets te maken hebben met b.v. een virusscanner of een backupschijf
die mee staat te draaien ?

Gr.
Andre

Remo

#3
Wij draaien hier ook virusscanners (norman) en een backup die meedraaid?  ik neem aan dat die eens in de zoveel tijd een backup maakt... zou niet moeten uitmaken..

maar is de tekening  dummy.dwg wel bereikbaar......   ik bedoel


   Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt,  "DUMMY.DWG", 1#, 1#, 1#, 0)
   blockRefObj.Layer = "0"

die had ik bij mij even vervangen......(tekening moet wel bestaan en door AutoCAD gevonden kunnen worden, als je hem zoals jij zonder pad in je code heb staan moet hij wel in een map staan die in je supportpaden van AutoCAD staan )

   Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "c:\test.dwg", 1#, 1#, 1#, 0)
   blockRefObj.Layer = "0"

en bij mij werkt hij....

maar buiten dat zou ik zeggen de code doet tut.......  :-)

overigens.....  bij mij knalt niet heel AutoCAD eruit als ik je "foute" code gebruik.....  maar krijg alleen een foutmelding....

draai je wel AutoCAD 2006 met servicepack 1 ?

jeans

Andre

doe het volgende:

Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt,  "DUMMY", 1#, 1#, 1#, 0)

dus "DUMMY" i.p.v. DUMMY.dwg

zorg wel dat de block te vinden is in het path....

Succes

andre

Jeans,

ook dit mocht niet baten

gr.
andre

jeans

Gebruik je een userform?
zo ja: userform1.hide

de onderstaande code werkt (bij mij...)

Private Sub CommandButton1_Click()
Dim returnPnt As Variant
   Dim insertionPnt(0 To 2) As Double
   Dim blockRefObj As AcadBlockReference
   Dim textobj As AcadText
   ThisDrawing.Utility.Prompt "Plaats Insertionpoint"
   UserForm1.Hide
   returnPnt = ThisDrawing.Utility.GetPoint
   insertionPnt(0) = returnPnt(0): insertionPnt(1) = returnPnt(1): insertionPnt(2) = returnPnt(2)
   insertionPnt(1) = insertionPnt(1) - 7.5
   
   
   Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "DUMMY.dwg", 1#, 1#, 1#, 0)
   blockRefObj.Layer = "0"
End Sub

Dnereb

Noot:
Als je niet expliciet het pad aangeeft moet de tekening wel ergens in 1 van de directory's
van je Support File Search Path staan.

Zie menu Tools->options tabblad Files.

andre

Citaat van: Dnereb op do 09 03 2006, 15:28:39
Noot:
Als je niet expliciet het pad aangeeft moet de tekening wel ergens in 1 van de directory's
van je Support File Search Path staan.

Zie menu Tools->options tabblad Files.



Dank voor jullie antwoorden, ik ben inmiddels een stap verder,
ik heb al die tijd vergeten te vermelden dat er nog een applicatie meedraait
t.w. electrical designer, dat is een E-pakket met autocad als platform
deze gooit roet in het eten, als ik alleen gebruik maakt van Autocad dan
werkt de routine gewoon.

Groet
Andre