乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 11

[编程交流] 如何获得x和y坐标

[复制链接]

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:25:54 | 显示全部楼层 |阅读模式
大家好,我是autolisp编程新手,我有一个简单的问题。如何在alertbox中显示选定形状的x和y坐标以及块名?
我的示例(不起作用):
 
  1. (defun c:get (/ pt)
  2. (setq pt (getpoint (entsel "\nSpecify  point: ")))
  3. (alert pt)
  4. (princ)
  5. )
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:34:53 | 显示全部楼层
欢迎来到CADTutor,疯子!
 
您的代码已修订
  1. (defun c:get (/ pt)
  2. (if (setq pt (getpoint "\nSpecify point: "))
  3.    (alert (strcat "X = " (rtos (car pt)) "\nY = " (rtos (cadr pt))))
  4. )
  5. (princ)
  6. )
以及块和x,y坐标
亨里克
回复

使用道具 举报

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:39:21 | 显示全部楼层
好的,非常感谢!
 
差点忘了问
 
这条线是什么?
还有这个
  1. (setq obj  (vlax-ename->vla-object (ssname ss 0))
  2.            name (vla-get-effectivename obj)
  3.            ins  (vlax-get obj 'insertionpoint)
  4.      )
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:46:50 | 显示全部楼层
不客气,疯子。
  1. ;; if select a single block
  2. (if (setq ss (ssget "_+.:E:S" '((0 . "INSERT"))))
  3.    (progn
  4.      ;; Transforms the firts selected object to a VLA-object
  5.      (setq obj  (vlax-ename->vla-object (ssname ss 0))
  6.            ;; get the effective name from the block object
  7.            name (vla-get-effectivename obj)
  8.            ;; get the insertionpoint from the block object
  9.            ins  (vlax-get obj 'insertionpoint)
  10.      )

 
亨里克
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 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。
 
  1. ;; Dump all methods and properties for selected objects              ;
  2. ;;;===================================================================;
  3. ;;; DumpIt                                                            ;
  4. ;;;-------------------------------------------------------------------;
  5. ;;;===================================================================;
  6. (defun C:DumpIt ( / ent)
  7. (while (setq ent (entsel))
  8.    (vlax-Dump-Object
  9.      (vlax-Ename->Vla-Object (car ent)) T
  10.    )
  11. )
  12. (princ)
  13. )
回复

使用道具 举报

13

主题

38

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 20:55:32 | 显示全部楼层
你好
如何将Z值赋给此代码:
  1. 7

非常感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:01:28 | 显示全部楼层
 
更换此零件
 
  1. 8
回复

使用道具 举报

13

主题

38

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 21:04:44 | 显示全部楼层
非常感谢你
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:13:40 | 显示全部楼层
不客气
 
所有功劳都归于亨里克
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:18:04 | 显示全部楼层
你说得很好,我的朋友。
但所有修改的功劳都归你所有。
 
干杯
亨里克
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 08:59 , Processed in 0.402992 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表