乐筑天下

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

[编程交流] 查找块插入点

[复制链接]

13

主题

46

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 16:19:35 | 显示全部楼层
你好,Renderman,我还是一个Lisp程序员新手,所以你可以做一些吗;;解释有些代码可以理解,但不是全部。我的意思是,我会尽量看阿夫拉Lisp程序。用于解释。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 16:22:51 | 显示全部楼层
 
别担心;我们都从某个地方开始。
 
我鼓励你尽可能地阅读任何东西。您将从开发人员文档、CAD论坛等常见资源以及其他通过网站上的教程分享智慧的人那里学到很多。我发现有一本书很容易阅读和理解,那就是David M.Stein的《Visual LISP Developer's Bible》,2011版,目前售价6.99美元(图片链接):
 

                               
登录/注册后可看大图

 
至于一些解释,希望这能有所帮助:
 
  1. (defun c:FOO  (/ ss)
  2. [color=seagreen]
  3. ;; Both test expressions within the AND function must
  4. ;; return a non-nil value.
  5. ;;
  6. ;; If the user makes a valid, single selection of a block,
  7. ;; and the block "Asbuilt.dwg" can be found for insert...[/color]
  8. (if (and (setq ss (ssget ":S:E" '((0 . "INSERT"))))
  9.           (findfile "ASBUILT.dwg"))
  10.   [color=seagreen] ;; ... Then, insert the "Asbuilt" block at the insertion
  11.    ;; point of the earlier selected block[/color]
  12.    (command "._-insert"
  13.             "ASBUILT"
  14.             (cdr (assoc 10 (entget (ssname ss 0))))
  15.             1.0
  16.             1.0
  17.             0.0)
  18.    [color=seagreen];; ... Else, CONDitionally report to the user what
  19.    ;; went wrong above, based on the first test expression
  20.    ;; that returns a non-nil value.
  21.    ;;
  22.    ;; First condition:
  23.    ;; If a valid, single selection was made, then
  24.    ;; the "Asbuilt" block could not be found.
  25.    ;;
  26.    ;; Second condition:
  27.    ;; A valid, single selection was NOT made.[/color]
  28.    (cond (ss (prompt "\n** "ASBUILT.dwg" cannot be found ** "))
  29.          ((prompt "\n** Nothing selected ** "))))
  30. (princ))
回复

使用道具 举报

13

主题

46

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 16:27:53 | 显示全部楼层
有可能把这本书当成书而不是kindle吗?我没有kindle
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 16:28:38 | 显示全部楼层
 
程序类的工作,我们可以添加什么来删除现有的绘图头块?插入竣工砌块后。此时,我在初始插入点(绘图头块的插入点)结束了两个块
TIA
史蒂夫
回复

使用道具 举报

13

主题

46

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 16:32:21 | 显示全部楼层
为什么要删除绘图头?
 
我遇到的问题是,我有3公斤的图纸需要贴上竣工标志。因此,在论坛成员的大力帮助下,我完成了这一日常工作。绘图头在绘图上,所以我只需要制作一个块,每次调用命令时都会插入。因此,我制作了一个块,我希望它位于图纸上,使用与绘图头相同的插入点,将块保存在AC知道的文件夹中,然后我可以在需要符号的图纸上使用脚本。
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 16:36:18 | 显示全部楼层
 
这就是我改编这个节目的目的。如果图纸的最初发布是“仅供投标”,然后进展到“批准用于施工”,最后是“竣工”或“AsConstructed”,那么每个版本都会有适当的块,并且可以调整程序,以便随着项目从一个阶段进展到另一个阶段,从一个文本块进展到另一个文本块。例如,“仅供投标”块可以快速替换为“批准用于施工”等,并自动删除旧块。现在你知道剩下的故事了。
当插入更新的块时,请帮助删除现有块。
TIA,Steve
回复

使用道具 举报

13

主题

46

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 16:37:48 | 显示全部楼层
我认为在您的情况下,可以在绘图头内部制作一个属性标记,用于指定绘图进度的当前状态。然后,您应该考虑一个例程,该例程可以读取标记并根据图形所处的状态进行更改。您还可以制作一个块,其中包含例程在中查看的属性,并执行相同的状态检查。但要注意让用户易于使用,并在考虑新手用户的情况下仔细规划这些步骤。但我要说的是,我仍然是一个初学者lisp程序员,处于学习阶段,所以我不能每隔一分钟给你一个例行抱歉。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 16:40:54 | 显示全部楼层
FWIW-“问题”描述作为字段填充属性合并到标题栏中,该属性读取项目图纸集管理器(SSM)文件的自定义属性。这样,当提交问题如上所述更改时,我们在SSM中更改一次值,并绘制计划集。Walla-所有表格都已更新。
 
另外,要回答删除原始块的问题。。。一种方法是在插入替换块后,或至少在提取插入点后,将图元名称传递给erase命令。要删除的锁:
 
  1. 5
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 16:46:30 | 显示全部楼层
 
不幸的是,答案是否定的。
 
实际上,我已经在我的智能手机上使用免费的Kindle应用程序或在线阅读了这本书。
回复

使用道具 举报

13

主题

46

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 16:48:36 | 显示全部楼层
废话
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 00:08 , Processed in 0.512169 second(s), 70 queries .

© 2020-2025 乐筑天下

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