insane 发表于 2022-7-5 20:25:54

如何获得x和y坐标

大家好,我是autolisp编程新手,我有一个简单的问题。如何在alertbox中显示选定形状的x和y坐标以及块名?
我的示例(不起作用):
 
(defun c:get (/ pt)
(setq pt (getpoint (entsel "\nSpecifypoint: ")))

(alert pt)
(princ)
)

hmsilva 发表于 2022-7-5 20:34:53

欢迎来到CADTutor,疯子!
 
您的代码已修订

(defun c:get (/ pt)
(if (setq pt (getpoint "\nSpecify point: "))
   (alert (strcat "X = " (rtos (car pt)) "\nY = " (rtos (cadr pt))))
)
(princ)
)
以及块和x,y坐标
亨里克

insane 发表于 2022-7-5 20:39:21

好的,非常感谢!
 
差点忘了问
 
这条线是什么?
还有这个

(setq obj(vlax-ename->vla-object (ssname ss 0))
         name (vla-get-effectivename obj)
         ins(vlax-get obj 'insertionpoint)
   )

hmsilva 发表于 2022-7-5 20:46:50

不客气,疯子。

;; if select a single block
(if (setq ss (ssget "_+.:E:S" '((0 . "INSERT"))))
   (progn
   ;; Transforms the firts selected object to a VLA-object
   (setq obj(vlax-ename->vla-object (ssname ss 0))
         ;; get the effective name from the block object
         name (vla-get-effectivename obj)
         ;; get the insertionpoint from the block object
         ins(vlax-get obj 'insertionpoint)
   )
 
亨里克

BIGAL 发表于 2022-7-5 20:51:16

这里有一个小lisp,可以让你选择一个对象并查看其属性。它可以与VLisp一起使用,以Vla获取属性或Vla放置新属性。如果你选择一个块,你会看到“插入点”“缩放”“旋转”等
 
一个点通常由3个部分组成X Y Z使用X=car Y=Cadr和Z=Caddr可以获得单个信息,另一种方法是nth,X=nth 0 pt,Y=nth 1 pt,Z=nth 2 pt。
 

;; Dump all methods and properties for selected objects            ;
;;;===================================================================;
;;; DumpIt                                                            ;
;;;-------------------------------------------------------------------;
;;;===================================================================;
(defun C:DumpIt ( / ent)
(while (setq ent (entsel))
   (vlax-Dump-Object
   (vlax-Ename->Vla-Object (car ent)) T
   )
)
(princ)
)

Faouweb 发表于 2022-7-5 20:55:32

你好
如何将Z值赋给此代码:
7
非常感谢。

Tharwat 发表于 2022-7-5 21:01:28

 
更换此零件
 
8

Faouweb 发表于 2022-7-5 21:04:44

非常感谢你

Tharwat 发表于 2022-7-5 21:13:40

不客气
 
所有功劳都归于亨里克

hmsilva 发表于 2022-7-5 21:18:04

你说得很好,我的朋友。
但所有修改的功劳都归你所有。
 
干杯
亨里克
页: [1] 2
查看完整版本: 如何获得x和y坐标