VBA
Discuss AutoCAD ActiveX and VBA (Visual Basic for Applications) questions here.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AUTOCAD-vba6 : Runtime Error 429 : ActiveX Component Can't Create Object

0 REPLIES 0
Reply
Message 1 of 1
iymalik
2102 Views, 0 Replies

AUTOCAD-vba6 : Runtime Error 429 : ActiveX Component Can't Create Object

Hey all,

 

I am Using a  Windows 7 based x64 system I am working on AUTOCAD 2010   with VBA 6 but  i am getting teh error "Runtime Error 429 : ActiveX Component Can't Create Object " .

 

I started doing this project on a 32 bit system and  it worked fine .But , since i moved to 64 bit system,I get this error whenever i execute a subroutine that  has to creat something in AUTOCAD.Please see the  code of related module below.


I have tried Autocad 2011 also but  problem does not solve.

 

Would appreciate your help a lot .

 

Best Regards,

Irfan

 

'--------------------------------
''         RANDOM WALK
'--------------------------------


' Global Data

' random step
Private Type RStep
    L As Double     ' step length
    a As Double     ' absolute step angle
    m As Double     ' mass value
    x(2) As Double  ' step position (x,y,z)
End Type

' input data
Dim start(2) As Double  ' starting coordinates x,y,z
Dim LRnd(1) As Double   ' specification of the random length
                        ' (0): mean value / (1): amplitude
Dim ARnd(1) As Double   ' specification of the random angle
Dim MRnd(1) As Double   ' specification of the random mass

Dim Steps As Integer    ' number of steps
Dim RSteps() As RStep   ' array of RStep-items


' Input Data

' setup the input data for the walk
Sub SetInputData()

    ' setup the starting point
    start(0) = 0#
    start(1) = 0#
    start(2) = 0#
    
    ' setup the random length
    LRnd(0) = 100#   ' mean value
    LRnd(1) = 20#    ' amplitude

    ' setup the random angle
    ARnd(0) = 30#
    ARnd(1) = 180#

    ' setup the random mass
    MRnd(0) = 1#        ' 1 kg
    MRnd(1) = 0.4

    ' number of steps
    Steps = 100

End Sub


' Calculate the data for the step i
'  i range from 1 to Steps
Sub GetStep(i As Integer)

    ' Error Check
    If i < 2 Then Exit Sub      ' lower bound check
    If i > Steps Then Exit Sub  ' upper bound check

    ' calculate the new absolute angle
    RSteps(i).a = RSteps(i).a + RSteps(i - 1).a

    ' calculate the step position
    degrad = Atn(1) / 45#
    RSteps(i).x(0) = RSteps(i).L * Cos(RSteps(i).a * degrad)
    RSteps(i).x(1) = RSteps(i).L * Sin(RSteps(i).a * degrad)

    ' calculate the absolute position
    RSteps(i).x(0) = RSteps(i).x(0) + RSteps(i - 1).x(0)
    RSteps(i).x(1) = RSteps(i).x(1) + RSteps(i - 1).x(1)

    ' calculate or initilize the z - coordinate
    RSteps(i).x(2) = 0#

End Sub


' Main routine: Random Walk

Sub randomwalk()

    Dim i As Integer

    ' setup input data
    Call SetInputData
    
    ' initializing the random generator
    Call Randomize
    
    ' setup the used memory
    ReDim RSteps(1 To Steps)
    
    ' initialization
    RSteps(1).L = 0#
    RSteps(1).a = 0#
    RSteps(1).x(0) = start(0)
    RSteps(1).x(1) = start(1)
    RSteps(1).x(2) = start(2)
    
    ' create a new log file
    Call InitLog(1)
    
    ' print a header section
    s$ = "  i           L           A           x           y           z           M"
    AppendLog (s$)
    s$ = "---------------------------------------------------------------------------"
    AppendLog (s$)
    
    ' calculate the next steps
    For i = 2 To Steps
    
        ' next step length
        RSteps(i).L = LRnd(0) + (Rnd * 2# - 1) * LRnd(1)
        
        ' next angle: relative angle!
        RSteps(i).a = ARnd(0) + (Rnd * 2# - 1) * ARnd(1)
        
        ' next mass
        RSteps(i).m = MRnd(0) + (Rnd * 2# - 1) * MRnd(1)
    
        ' calculate the data for the next step
        Call GetStep(i)
    
        ' list the new values
        s$ = Format(i, "000") + formatdouble(RSteps(i).L, 12, "0.00") _
                              + formatdouble(RSteps(i).a, 12, "0.00") _
                              + formatdouble(RSteps(i).x(0), 12, "0.00") _
                              + formatdouble(RSteps(i).x(1), 12, "0.00") _
                              + formatdouble(RSteps(i).x(2), 12, "0.00") _
                              + formatdouble(RSteps(i).m, 12, "0.000")

        AppendLog (s$)
    
    Next

    ' plot the path with Autocad Line Objects
    Call plotpath

    MsgBox "Rand Path created!", vbInformation, "Info"

End Sub

' plot the path of the Random Walk
Sub plotpath()

    ' create a new instance of a true type color object
    Dim Color As New AcadAcCmColor

    ' color array of rgb-values
    Dim c(2) As Integer
    c(0) = 45       ' red
    c(1) = 155      ' green
    c(2) = 255      ' blue

    ' reset the modelspace
    Call resetmodelspace

    ' create line objects and spheres
    For i = 2 To Steps
        '                                          Startpoint       Endpoint
        Set line = ThisDrawing.ModelSpace.AddLine(RSteps(i - 1).x, RSteps(i).x)
        Call Color.SetRGB(255, 0, 0)
        line.TrueColor = Color
        
        ' create a new mass instance
        Set m = New Mass
        ' and call it's create function
        If Not m.create(RSteps(i).m, RSteps(i).x, c) Then
            AppendLog ("*** Error: Sphere " & i & " can not be created!")
        End If
        
    Next

End Sub



 




0 REPLIES 0

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost