Angle Mismatch Dynamic block

Angle Mismatch Dynamic block

jaimuthu
Advocate Advocate
590 Views
3 Replies
Message 1 of 4

Angle Mismatch Dynamic block

jaimuthu
Advocate
Advocate
(defun c:SB(/ o pt va di ang params paramName)
 
  (setq
    pt    (getpoint "\nPick a first point:")
    va    (getpoint pt "\nPick a second point:")
    di    (distance pt va)        
    ang   (angle pt va)           
  )

  
  (command "ZOOM" "S" pt va)

 
  (command "_.Insert" "D:/kk/OTHERS/1.DWG" pt "" "" "")

  
  (setq o (vlax-ename->vla-object (entlast)))

 
  (vla-rotate o (vlax-3d-point pt) ang)

 
  (setq params (vlax-safearray->list (vlax-variant-value (vla-GetDynamicBlockProperties o))))
  (foreach a params
    (setq paramName (vla-get-PropertyName a))
    
    
    (if (wcmatch paramName "*X*")
      (vla-put-value a (vlax-make-variant di 5))
    )
  )

 
  (command "ZOOM" "P")
  (princ)
)


i pick two points distance is ok but angle is mismatch that is i pick first point second point i pick 0 angle side but its come angle is 45

0 Likes
Accepted solutions (1)
591 Views
3 Replies
Replies (3)
Message 2 of 4

paullimapa
Mentor
Mentor
Accepted solution

try these modifications:

(defun c:SB(/ o pt va di dx dy ang params paramName)
 
  (setq
    pt    (getpoint "\nPick a first point:")
    va    (getpoint pt "\nPick a second point:")
    di    (distance pt va)        
    ang   (angle pt va)
    dx    (- (car va) (car pt)) ; deltax 
    dy    (- (cadr va) (cadr pt)) ; deltay
   )

  (command "ZOOM" "S" pt va)

 
  (command "_.Insert" "D:/kk/OTHERS/1.DWG" pt "" "" "")

  
  (setq o (vlax-ename->vla-object (entlast)))

 
;  (vla-rotate o (vlax-3d-point pt) ang)

 
  (setq params (vlax-safearray->list (vlax-variant-value (vla-GetDynamicBlockProperties o))))
  (foreach a params
    (setq paramName (vla-get-PropertyName a))
    
    (if (wcmatch paramName "*X*")
;      (vla-put-value a (vlax-make-variant di 5))
      (vla-put-value a (vlax-make-variant dx 5)) ; deltax
    )    
    (if (wcmatch paramName "*Y*")
      (vla-put-value a (vlax-make-variant dy 5)) ; deltay
    )
  )
 
  (command "ZOOM" "P")
  (princ)
)

Paul Li
IT Specialist
@The Office
Apps & Publications | Video Demos
0 Likes
Message 3 of 4

jaimuthu
Advocate
Advocate

its work fine Thanks 

0 Likes
Message 4 of 4

paullimapa
Mentor
Mentor

You are welcome…cheers!!!


Paul Li
IT Specialist
@The Office
Apps & Publications | Video Demos
0 Likes