Message 1 of 6
error: bad argument type: numberp: nil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I wrote a program to create a viewport in the layout by selecting a rectangle in the model, however, during the program's execution, an error occurred: bad argument type: numberp: nil. Please help me find a solution to this problem. Thank you everyone. Below is the code.
(if (tblsearch "layer" "frame_print")
(setvar "clayer" "khung_in")
(command "_.Layer" "_Make" "frame_prin" "_Color" "220" "" "P" "N" "frame_prin" "" "LType" "Continuous" "" ""))
(prompt "\nEnter Scale <1> :")(princ)
(setq scale_1 (getreal))
(if (= nil scale_1) (setq scale_1 1))
(setq m2 (entget (car (entsel))))
(setq m1 (cdr (assoc 0 m2)))
(if (= "LWPOLYLINE" m1)
(setq d_s (list (assoc 0 m2) (assoc 8 m2))))
(if (/= "LWPOLYLINE" m1)
prompt "\nSelectFrame!!!")
(setq s1 (ssget d_s))
(progn (sssetfirst nil nil) s1)
(setq i 0)
(setq lst1 '())
(setq lst2 '())
(repeat (sslength s1)
(setq e (ssname s1 i)
obj (vlax-ename->vla-object e)
i (1+ i))
(if obj
(progn
(vla-getboundingbox obj 'point1 'point2)
(setq point1 (vlax-safearray->list point1))
(setq point2 (vlax-safearray->list point2))))
(setq cp1 (list (car point1) (cadr point1)))
(setq cp2 (list (car point2) (cadr point2)))
(setq ks1 (list (car cp1) (cadr cp1) (car cp2) (cadr cp2)))
(setq lst1 (cons ks1 ls1))
)
(setq me1 '(0 0))
(setq me2 '(0 0))
(command "LAYOUT" "s" (entlast))
(repeat (sslength s1)
(setq lt1 '(0 0))
(setq lt2 '(0 0))
(setq lt1 (list (car (car lst1)) (cadr (car lst1))))
(setq lt2 (list (caddr (car lst1)) (cadddr (car lst1))))
(setq mk1 (list (+ (*(- (car lt1) (car me1)) scale_1) (car me1)) (+ (*(- (cadr lt1) (cadr me1)) scale_1) (cadr me1))))
(setq mk2 (list (+ (*(- (car lt2) (car me2)) scale_1) (car me2)) (+ (*(- (cadr lt2) (cadr me2)) scale_1) (cadr me2))))
(Command "mview" mk1 mk2)
(Command "zoom" "w" mk1 mk2)
(setq s (cdr (sssetfirst nil (ssget "L"))))
(vla-put-mspace (vla-get-ActiveDocument (vlax-get-acad-object)) :vlax-true)
(Command "zoom" "w" lt1 lt2 "pspace")
(setq vp (vlax-ename->vla-object (entlast)))
(vla-put-CustomScale vp scale_1)
(vla-put-DisplayLocked vp :vlax-true)
(setq lst1 (cdr lst1))
(command "REGENALL")
)