飞雪神光 发表于 2024-1-26 16:22:36

277283904 发表于 2024-1-26 15:03
不知道为什么,上次测试过是可行的,但不知道为什么这次测试又不行呢?
代码是这个:
    (defun c:tt( ...

cal需要加载你先单独运行 cal这个命令 让CAD自动加载 就可以了

277283904 发表于 2024-1-26 16:41:40

飞雪神光 发表于 2024-1-26 16:22
cal需要加载你先单独运行 cal这个命令 让CAD自动加载 就可以了

谢谢!,原来这样,是可以了。
能不能在这段代码的基础上加一段代码输入这个命令直接加载呢;P

飞雪神光 发表于 2024-1-26 17:08:52

277283904 发表于 2024-1-26 16:41
谢谢!,原来这样,是可以了。
能不能在这段代码的基础上加一段代码输入这个命令直接加载呢

(if (null (type c:cal))
    (cond
                        ((findfile "GEOMCAL.CRX") (ARXLOAD "GEOMCAL.CRX"))
                        ((findfile "GEOMCAL.ARX") (ARXLOAD "GEOMCAL.ARX"))
                )
)

277283904 发表于 2024-1-26 17:15:49

飞雪神光 发表于 2024-1-26 17:08


这是加载CAL的吧,怎么和下面这段代码连起来做成一个命令呢;P
(defun c:tt()
            (command ".STRETCH" (ssget) "" pause (cal (getstring "\n输入:")))
            (princ)
    )

飞雪神光 发表于 2024-1-26 17:22:26

277283904 发表于 2024-1-26 17:15
这是加载CAL的吧,怎么和下面这段代码连起来做成一个命令呢
(defun c:tt()
            (command ". ...

就这样一拼就行了
(defun c:tt ()
        (if (null (type c:cal))
    (cond
                        ((findfile "GEOMCAL.CRX") (ARXLOAD "GEOMCAL.CRX"))
                        ((findfile "GEOMCAL.ARX") (ARXLOAD "GEOMCAL.ARX"))
                )
)
        (command ".STRETCH" (ssget) "" pause (cal (getstring "\n输入:")))
        (princ)
)

277283904 发表于 2024-1-26 19:28:24

飞雪神光 发表于 2024-1-26 17:22
就这样一拼就行了

麻烦了,谢谢!

zhufeng1004 发表于 2024-1-26 23:06:12

飞雪神光 发表于 2024-1-26 17:08


加上记忆功能记住上次拉伸距离就完美了

277283904 发表于 2024-1-27 14:29:17

本帖最后由 277283904 于 2024-1-27 14:46 编辑

飞雪神光 发表于 2024-1-26 17:22
就这样一拼就行了
发觉160-80用这段代码就可以,40-34用这段代码是没反应的哦,80-77也是没反应,但是手动输入'cal就可以,这是为什么?{:1_1:}

飞雪神光 发表于 2024-1-27 17:59:43

277283904 发表于 2024-1-27 14:29
发觉160-80用这段代码就可以,40-34用这段代码是没反应的哦,80-77也是没反应,但是手动输入'cal就可以, ...

(command ".STRETCH" (ssget) "" pause "non"(cal (getstring "\n输入:")))

277283904 发表于 2024-1-27 18:09:17

飞雪神光 发表于 2024-1-27 17:59


可以了,再次感谢谢!
页: 1 2 3 [4] 5
查看完整版本: 新开一帖,谁能帮写一下,怎么能把拉伸命令和‘cal组合起来一起用呢?