明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: baitang36

[经验] FAS 20号指令的深入研究

  [复制链接]
发表于 2020-3-21 16:04:18 | 显示全部楼层
学习了,感谢分享!!!!
发表于 2020-3-22 00:16:37 | 显示全部楼层
只能仰望了,
发表于 2020-3-22 20:20:29 | 显示全部楼层
看不懂也顶一下
发表于 2020-7-3 19:17:05 | 显示全部楼层
本帖最后由 yxp 于 2020-7-3 19:23 编辑

做个标记,有空研究。
第四个字节 dd 如果只做有限为 0 和无限为 1 标记的话,我的第一感觉就是太浪费了,不符合紧凑风格。原来高7位和aa位组合了,这样aa位就有 8+7 个位表示数据,数据范围就是 2的15次方减一 (expt 2 15)-1 = 32767
 楼主| 发表于 2020-7-6 14:06:31 | 显示全部楼层
yxp 发表于 2020-7-3 19:17
做个标记,有空研究。
第四个字节 dd 如果只做有限为 0 和无限为 1 标记的话,我的第一感觉就是太浪费了, ...

cad诞生于16位时代,那时候每一个字节都要节约着用。64位时代感觉太浪费了
发表于 2020-7-20 17:06:22 | 显示全部楼层
baitang36 大师,帮忙看下我这个怎么转了FAS格式,命令失效  以下是源码
;过滤选择
(defun FILTER_by_DXF_code(ss DXF_code / ss i filter elist DXF_cons ssf n)
        (if ss
                (progn
                        (command "undo" "be")
                        (setq i 0)
                        (setq filter nil)
                        (repeat (sslength ss)
                                (setq elist(entget (ssname ss i)))
                                (if (assoc DXF_code elist)
                                        (if (=(type(cdr(assoc DXF_code elist))) 'STR)
                                                (setq DXF_cons  (cons DXF_code (ACET-STR-ESC-WILDCARDS1 (cdr(assoc DXF_code elist)))))       
                                                (setq DXF_cons  (assoc DXF_code elist))                               
                                        );;此处有修正
                                        (if(= DXF_code 62)
                                                (setq DXF_cons (cons  DXF_code 256))
                                        );;;只针对颜色为 bylayer 有用
                                );;end if
                                (setq filter (append filter (list DXF_cons)))
                                (setq i (1+ i))
                        );;end repeat
                        (setq filter (append '((-4 . "<or")) filter '((-4 . "or>"))));建立过滤表
                        (princ"\n请框选对象范围<按空格或右键全选>:")
                        (if (setq ssf (ssget filter))
                                (princ)
                                (setq ssf (ssget "x" filter))                               
                        )
                        (command "undo" "e")
                        (sssetfirst nil ssf)
                        (princ)
                )
                (princ"\n未选择,退出")
        )
        (princ)
);;end defun
;;62 按颜色过滤
(defun c:fgs() (princ "\n过滤选择---颜色")(FILTER_by_DXF_code (ssget) 62))
;;8  按图层过滤
(defun c:fgd() (princ "\n过滤选择---图层")(FILTER_by_DXF_code (ssget) 8 ))
;;0  按类型过滤
(defun c:fgf() (princ "\n过滤选择---类型")(FILTER_by_DXF_code (ssget) 0 ))
;;先选块,然后按块名过滤
(defun c:fgb() (princ "\n过滤选择---块名")(FILTER_by_DXF_code (ssget '((0 . "INSERT"))) 2))
;;先选填充,然后按填充样式过滤
(defun c:fgh() (princ "\n过滤选择---填充名")(FILTER_by_DXF_code (ssget '((0 . "HATCH"))) 2))
;;先选尺寸标注,然后按标注样式过滤
(defun c:fgr() (princ "\n过滤选择---标注样式")(FILTER_by_DXF_code (ssget '((0 . "*DIMENSION"))) 3))
;;先选文字,然后按字体样式过滤
(defun c:fgt() (princ "\n过滤选择---文字样式")(FILTER_by_DXF_code (ssget '((0 . "MTEXT,TEXT"))) 7))
;;先选文字,然后按文字内容过滤
(defun c:fgts() (princ "\n过滤选择---文字内容")(FILTER_by_DXF_code (ssget '((0 . "MTEXT,TEXT"))) 1))
;选填充
(DEFUN C:fgha()(princ "\n过滤选择---填充")(sssetfirst nil (ssget '((0 . "hatch"))))        (prin1))
;;只选文字
(DEFUN C:fgta()(princ "\n过滤选择---文字")(sssetfirst nil (ssget '((0 . "MTEXT,TEXT"))))        (prin1))
;;只选标注+箭头引线
(DEFUN C:fgre()(princ "\n过滤选择---标注+箭头引线")(sssetfirst nil (ssget '((0 . "*DIMENSION,LEADER"))))        (prin1))
;选文字+标注+箭头引线
(DEFUN C:fgtre()(princ "\n过滤选择---文字+标注+箭头引线")(sssetfirst nil (ssget '((0 . "MTEXT,TEXT,*DIMENSION,LEADER"))))        (prin1))
发表于 2020-9-8 11:57:58 | 显示全部楼层
KO你 发表于 2020-7-20 17:06
baitang36 大师,帮忙看下我这个怎么转了FAS格式,命令失效  以下是源码
;过滤选择
(defun FILTER_by_DXF ...

没懂你这是干啥的  但是我给你编译成fas没有问题
发表于 2020-9-22 01:11:23 | 显示全部楼层
Aries 发表于 2020-9-8 11:57
没懂你这是干啥的  但是我给你编译成fas没有问题

编译成FAS麻烦你发上来咯,谢谢
发表于 2020-9-24 14:08:57 | 显示全部楼层
本帖最后由 Aries 于 2020-9-24 14:19 编辑
KO你 发表于 2020-9-22 01:11
编译成FAS麻烦你发上来咯,谢谢

能不能给我一个币

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 2明经币 +2 收起 理由
baitang36 + 1 很给力!
KO你 + 1 赞一个!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-14 14:45 , Processed in 0.236570 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表