乐筑天下

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

[编程交流] 报错,试验和失败仅供参考?

[复制链接]

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-10-16 09:41:47 | 显示全部楼层 |阅读模式
今天大部分时间都在努力寻找并尝试找到以下示例:
从绘图名称中提取单个字符。
我需要将 Autocad 工程图名称的第 7 个字符用作条件。
根据标准,它始终是字母 A 或数字 0(零)。
如果第 7 个字符是 A,则运行程序 1。
否则运行程序 2。
就如此容易。
但我找不到如何提取绘图名称字符的示例或图。
然后我想,也许,我可以在绘图名称字符之间放置空格。
这将使它成为一个列表,我可以使用:
  1. (nth 6 '(0 1 2 3 4 5 A 7 ))
删除“.dwg”后:
  1. (setq dname (getvar "DWGNAME")); get drawing name
  2. (setq strleg (strlen dname)) ; get the length of it
  3. (setq strleg1 (- strleg 4)) ; hack off the last 4 characters
  4. (setq drawname (substr dname 1 strleg1)) ; what's left?
但我也找不到说明或实现这一点的例子。
然后我想起了一个显示命名视图轮廓的旧程序。
巧合的是,我们的一个名为“模型空间”的视图是没有 .DWG 的图纸名称。
该程序使用以下方法查找命名视图:
  1. (if (wcmatch (getvar "DWGNAME") "??????A*") ;IF this
  2.   (PROGRAM-1) ; THEN do this
  3.   (PROGRAM-2) ; ELSE do this
  4. )
不会总是有命名视图,但总会有 DWGNAME。)
奇迹般有效。
所以最后:
1.我不需要从图纸名称中提取,虽然我很想用那个方法。
2. 如果可能的话,我不需要将绘图名称转换为列表来使用第 n 个东西。那将是一种简洁但令人费解且非常规的方法。
3. 一天中的大部分时间都在努力,结果发现答案很简单,而且我已经有了一些例子。我需要的只是wcmatch。
只是想分享,希望这是有用的信息。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:56 , Processed in 0.142449 second(s), 54 queries .

© 2020-2024 乐筑天下

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