乐筑天下

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

[编程交流] 参考网格

[复制链接]

3

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 03:15:12 | 显示全部楼层 |阅读模式
它有一个Lisp,它将参照网格进行注释。
我想读一个csv并输入到最近网格交点的距离。
 
让我举个例子
 
例如,我在a*中有以下内容。csv
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 03:24:35 | 显示全部楼层
 
之后你似乎被切断了
朋友
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 03:33:26 | 显示全部楼层
离题,但。。。Commandobill!
很高兴看到你回来!
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 03:38:01 | 显示全部楼层
 
谢谢你,伙计!我移动了状态,不再使用autoCAD=(但“FreeRefill”退出了,所以我的老老板让我再次为他编写lisps。
 
你比我上次在这里发布的内容早了几光年!难以置信的工作,说真的。。。
回复

使用道具 举报

3

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 03:47:45 | 显示全部楼层
抱歉,我不知怎么断开了
 
假设我有一个csv,它概述了网格的位置。
 
实例
 
网格名称,X,Y
A1,0,0
A2,01000
A3,02000
B11000,0
B220001000
 
等等等等
 
我现在想使用GRIDNAME作为参考。。。。。。。。。。因此,我可以将世界坐标系引用回网格。
下面是一个“屏幕抓取”我目前得到的和在泡沫是什么,我希望能够看到。
 
041514btu0xbguax2tlut7.jpg
 
任何帮助都会很好
 
 
谢谢
 
西亚兰
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 03:53:55 | 显示全部楼层
 
很高兴看到你们再次在这里发帖,我记得你们两个都很好
 
 
干杯伙计!
 
很抱歉这些离题帖子-现在回到主题上来。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 04:03:57 | 显示全部楼层
 
这有点初级,没有很多检查来确保你得到了正确的信息,但我是基于你提供的信息。您也可以更改多行文字部分,使其说出您想要的内容。
 
  1. (defun c:yeah ( / pnt file pntlist bob apntlst pntlst sttext)
  2. (if (setq pnt (getpoint "\nClick the point you want: "))
  3.    (progn
  4.      (findfile "myfile.csv")
  5.      (setq file (open "C://myfile.csv" "r"))
  6.      (setq pntlst (list ""))
  7.      (while (setq bob (read-line file))
  8. (if (not (vl-string-search "GRID" (strcase bob)))
  9.   (progn
  10.     (setq apntlst (list (substr bob 1 (vl-string-search "," bob)) (list (atoi (substr bob (+ 2 (vl-string-search "," bob)) (- (vl-string-search "," bob (vl-string-search "," bob)) 1))) (atoi (substr bob (+ 2 (vl-string-position (ascii ",") bob nil t)) (strlen bob))) 0)))
  11.     (setq pntlst (vl-remove "" (cons apntlst pntlst)))
  12.     )))
  13.      (if pntlst
  14. (progn
  15.   (setq pntlst (vl-sort pntlst '(lambda (z a) ( < (distance pnt (cadr z)) (distance pnt (cadr a))))))
  16.   (setq sttext (strcat "Gridline Reference [url="file://\\P"]\\P[/url]" "Closest point: " (caar pntlst)))
  17.   (setq os (getvar "osmode"))
  18.   (setvar "osmode" 0)
  19.   (sb-mktxt2 sttext pnt)
  20.   (setvar "osmode" os)
  21.   ))
  22.      
  23.      
  24.      ))
  25. )
  26. (defun sb-mktxt2 (text pnt / )
  27. (vlax-put-property (vla-addMText (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point pnt) 0 text))
  28. )
回复

使用道具 举报

3

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 04:09:57 | 显示全部楼层
太棒了我试试看!
回复

使用道具 举报

3

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 04:22:40 | 显示全部楼层
嗨,伙计们,现在回到这里。
谢谢你到目前为止的帮助。我有一个Lisp程序的问题,并寻求一些进一步的帮助。lisp当前正在报告错误
 
 
它放置了“网格线参考”和“最近点:A003”,但没有给出到网格的距离
(见附件capture.jpg。我正在寻找示例.jpg)
 
我已附上*。我正在使用的csv和下面的是我正在使用的当前代码。
 
如果有人能帮忙,那就太好了。提前谢谢。
 
  1. (defun c:yeah ( / pnt file pntlist bob apntlst pntlst sttext)
  2. (if (setq pnt (getpoint "\nClick the point you want: "))
  3.    (progn
  4.      (findfile "GRIDLINE.csv")
  5.      (setq file (open "C://GRIDLINE.csv" "r"))
  6.      (setq pntlst (list ""))
  7.      (while (setq bob (read-line file))
  8. (if (not (vl-string-search "GRID" (strcase bob)))
  9.   (progn
  10.     (setq apntlst (list (substr bob 1 (vl-string-search "," bob)) (list (atoi (substr bob (+ 2 (vl-string-search "," bob)) (- (vl-string-search "," bob (vl-string-search "," bob)) 1))) (atoi (substr bob (+ 2 (vl-string-position (ascii ",") bob nil t)) (strlen bob))) 0)))
  11.     (setq pntlst (vl-remove "" (cons apntlst pntlst)))
  12.     )))
  13.      (if pntlst
  14. (progn
  15.   (setq pntlst (vl-sort pntlst '(lambda (z a) ( < (distance pnt (cadr z)) (distance pnt (cadr a))))))
  16.   (setq sttext (strcat "Gridline Reference \\P" "Closest point: " (caar pntlst)))
  17.   (setq os (getvar "osmode"))
  18.   (setvar "osmode" 0)
  19.   (sb-mktxt2 sttext pnt)
  20.   (setvar "osmode" os)
  21.   ))
  22.      
  23.      
  24.      ))
  25. )
  26. (defun sb-mktxt2 (text pnt / )
  27. (vlax-put-property (vla-addMText (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point pnt) 0 text))
  28. )

041516x9trj5zt5fv757k4.jpg
网格线。csv
041517zzy2xe2upxeoe24w.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:12 , Processed in 0.368263 second(s), 72 queries .

© 2020-2025 乐筑天下

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