明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 明经快报

[LISP群(1)] 2013-05-10 明经 AutoLISP 编程(102918348) 群聊记录:但中国美国商会会长孟克文对...

 关闭 [复制链接]
 楼主| 发表于 2013-5-10 15:06:35 | 显示全部楼层
[kwok][kwok]巭隼 15:06:35
(defun c;tt( ) 
  (setvar "fillmode" 0)
)
这个怎么弄只要一个命令输入tt命令可以让它的值在0,1中切换?
[junkegg]街角 15:07:48
getvar
[阿然][阿然] 15:08:43
(if (= (getvar "fillmode") 0) (setvar "fillmode" 1)(setvar "fillmode" 0))
[kwok][kwok]巭隼 15:10:42
 楼主| 发表于 2013-5-10 15:22:45 | 显示全部楼层
笑对人生 15:22:45
问一下大家
(setq ent_list t)
笑对人生 15:23:39
(while ent_list
怎么样设置,可终止while循环
是setq ent_list f么,还是
[LC100]建筑设计 15:24:30
就是ent_list不存在的时候会自动停止
StEf 15:24:37
nil
笑对人生 15:24:38
明白
谢谢
StEf 15:25:03
(setq ent_list nil)
[woky57]WOKY 15:26:07
[qqimg]oldimg/{FB342EDB-8865-F0F7-3333-145847D408D3}.jpg[/qqimg]
怎么能把文字分解为单个字母呢
[夏生生][x_s_s_1]生无可恋 15:27:32
读取再建立最后删除
[woky57]WOKY 15:28:37
 楼主| 发表于 2013-5-10 15:46:37 | 显示全部楼层
[阿然][阿然] 15:46:37
怎么计算插入点?
[夏生生][x_s_s_1]生无可恋 15:47:15
textbox
[夏生生][x_s_s_1]生无可恋 15:55:21
效果不是很好
[夏生生][x_s_s_1]生无可恋 15:56:37
对汉字没有处理
[夏生生][x_s_s_1]生无可恋 15:57:07
只是个思路
[lisp-study]jun 15:57:33
txtbox挺好的
 楼主| 发表于 2013-5-10 16:41:05 | 显示全部楼层
[linshiyin2]大地 16:41:05
一串字符串,怎么读取其中的数字呢,例子:"ju//idj/21.34abc"
[236004]张牙舞爪 16:43:48
转成ASCCI码
48-58
[夏生生][x_s_s_1]生无可恋 16:44:15
;;;判断字符串是否为实数
(defun Number? (string /)
  (if (and (distof string)
       (atof string)
       (= (distof string) (atof string))
      )
    string
  )
)
有小数点不负责
[236004]张牙舞爪 16:44:39
如果有汉字呢,
比哪:中国3.88北京999
[夏生生][x_s_s_1]生无可恋 16:45:04
也没问题
[236004]张牙舞爪 16:45:16
试下
[夏生生][x_s_s_1]生无可恋 16:45:44
利用Number? 挨个放血
[夏生生][x_s_s_1]生无可恋 16:46:22
;;;从尾部查找数字
(defun serch_number_e (string / n st str)
  (setq st "")
  (if (null (Number? string))
    (while (and    (setq n (strlen string))
        (Number? (setq str (substr string n)))
       )
      (setq st (strcat str st))
      (setq string (substr string 1 (1- n)))
    )
    (setq st string)
  )
  st
)
;;;从头部查找数字
(defun serch_number_s (string / st str)
  (setq st "")
  (while (Number? (setq str (substr string 1 1)))
    (setq st (strcat st str))
    (setq string (substr string 2))
  )
  st
)
[236004]张牙舞爪 16:46:32
(Number? "中国3.88北京00.99")

用不了
[小伟jeny]小伟 16:46:38
师傅
[夏生生][x_s_s_1]生无可恋 16:46:54
[qqimg]oldimg/{62B9F98D-842D-C1F8-4AE5-0FF6A47260DD}.jpg[/qqimg]
[小伟jeny]小伟 16:47:00
ent怎么变成varient?
[236004]张牙舞爪 16:47:00
还是转 ACSSII码好些
用VLAX
StEf 16:47:35
maptrim这个命令如何移植到普通点的cad版本中????
有知道的么??
[夏生生][x_s_s_1]生无可恋 16:47:56
ent不能变成varient吧不懂
[236004]张牙舞爪 16:47:58
((Vlax-Ename->Vla-Object (car (entsel)))
[夏生生][x_s_s_1]生无可恋 16:48:16
那是变成object
不是变成安全数组
[236004]张牙舞爪 16:48:32
估计他是问这个吧
StEf 16:49:01
有知道的么??
[236004]张牙舞爪 16:49:16
[qqimg]oldimg/{DDD84D0E-AC71-10FF-A6DA-EB262052F828}.jpg[/qqimg]
[夏生生][x_s_s_1]生无可恋 16:49:51
[qqimg]oldimg/{62B9F98D-842D-C1F8-4AE5-0FF6A47260DD}.jpg[/qqimg]
这个只是判断单个字符串是否为数值
[小伟jeny]小伟 16:50:16
不是这个
[夏生生][x_s_s_1]生无可恋 16:51:01
vlax-variant和vlax-safearray族的看看有无你需要的
[夏生生][x_s_s_1]生无可恋 16:53:10
你变为安全数组要干吗?
[小伟jeny]小伟 16:53:26
sendcommand
[阿然][阿然] 16:53:40
;;;列表转数组 by Xran
;;;参数lst datatype
;;;datatype有以下几种
;;;vlax-vbInteger (2) 整数型
;;;vlax-vbLong (3) 长整数型
;;;vlax-vbSingle (4) 单精度浮点数
;;;vlax-vbDouble (5) 双精度浮点数
;;;vlax-vbString (8) 字符串
;;;vlax-vbObject (9) 对象
;;;vlax-vbBoolean (11) 布尔值
;;;vlax-vbVariant (12) 变体
;;;例xr:lst->array lst 12)
;;;   (xr:lst->array lst vlax-vbvariant)
(defun Xr:lst->Array (Lst datatype / arraySpace sArray)
  (setq    arraySpace
     (vlax-make-safearray
       datatype        ; 元素类型
       (cons 0
         (1- (length Lst))
       )                ; 数组维数
     )
  )
  (setq sArray (vlax-safearray-fill arraySpace Lst))
)
[小伟jeny]小伟 16:54:04
vlax-variant提示no function
[夏生生][x_s_s_1]生无可恋 16:54:37
我是叫你看这个族的函数是否有你需要的
[linshiyin2]大地 16:55:45
有小数点啊
关键就是小数点,并且字符串中只有一组数字
[小伟jeny]小伟 16:56:14
没有
[夏生生][x_s_s_1]生无可恋 16:56:16
有小数点就把小数点加到函数里面去就是了啊
[小伟jeny]小伟 16:56:42
我是要把图元名转成vb的变体
[夏生生][x_s_s_1]生无可恋 16:58:30
;;;判断字符串是否为实数
(defun Number? (string /)
  (if (or (= "." str)
    (and (distof string)
         (atof string)
         (= (distof string) (atof string))
    )
      )
    string
  )
)
;;;从尾部查找数字
(defun serch_number_e (string / n st str)
  (setq st "")
  (if (null (Number? string))
    (while (and  (setq n (strlen string))
    (Number? (setq str (substr string n)))
     )
      (setq st (strcat str st))
      (setq string (substr string 1 (1- n)))
    )
    (setq st string)
  )
  st
)
(SETQ STR "N=52774.123,M=12345.43")
(serch_number_e(SUBSTR STR 1 (VL-STRING-SEARCH "," STR)))
;;-->"52774.123"
(serch_number_e STR)
;;-->"12345.43"
[夏生生][x_s_s_1]生无可恋 16:59:36
[qqimg]oldimg/{CA1B82C7-84BB-DE5A-A5F2-571B90206252}.jpg[/qqimg]把阿然那个看懂了你就懂了
[linshiyin2]大地 16:59:40
收下,看看满意不
[夏生生][x_s_s_1]生无可恋 16:59:59
先要vlax-make-safearray
估计大地满意不了
自己要适当改改,你行的
[夏生生][x_s_s_1]生无可恋 17:01:20
[qqimg]oldimg/{E021204F-A6A7-F249-1D01-3A8A5B6C457C}.jpg[/qqimg]
[夏生生][x_s_s_1]生无可恋 17:02:40
就是(vlax-safearray->list (vlax-variant-value Variant))的逆向
[小伟jeny]小伟 17:02:51
先要vlax-make-safearray 这不是变数组了么
[夏生生][x_s_s_1]生无可恋 17:03:30
还是没搞懂你要干啥
send what command
[woky57]WOKY 17:04:06
加个判断
[偏爱云~小吴] 17:05:45
阿然的哪个为什么显示no function
好高深
[阿然][阿然] 17:06:47
先说明ent转vb变体以后要干嘛,才能知道用什么函数来转换
[夏生生][x_s_s_1]生无可恋 17:07:29
就是
[阿然][阿然] 17:07:42
vla里面好像没有单独使用一个variant变量的情况,都要用数组
[linshiyin2]大地 17:09:36
字符串取数字,挨个取出放血
[小伟jeny]小伟 17:17:10
我详细的说一下我的目的
 楼主| 发表于 2013-5-10 19:29:04 | 显示全部楼层
[VBALISPER]恐龙 19:29:04
画根线,设置一下全局宽度,查看一下组码,就知道了.
[小伟jeny]小伟 19:30:41
我觉得是41 40
[VBALISPER]恐龙 19:30:59
明经宝典.
[小伟jeny]小伟 19:32:01
不变呢?
我subst 然后在entmod之后怎么
[VBALISPER]恐龙 19:33:42
组码43
[小伟jeny]小伟 19:34:55
bylayer的时候没有43么?
[VBALISPER]恐龙 19:35:35
线宽与层有什么关系呢?
有43吧
[小伟jeny]小伟 19:38:24
我的线是bylayer 没看见43
[VBALISPER]恐龙 19:40:16
画根线,设置一下全局宽度1.5mm,查看一下组码,哪个值对应1.5,就知道了.
[小伟jeny]小伟 19:46:09
刚才没看见43
[jicqj]大力水手 19:52:06
最新的cad2014 内部版本到多少了?lisp版本还是lisp16吗?
 楼主| 发表于 2013-5-10 20:12:43 | 显示全部楼层
[726613]浪潮 20:12:43
大家好
我是新人,请多多关照
[jicqj]大力水手 20:13:27
 楼主| 发表于 2013-5-10 20:45:32 | 显示全部楼层
[小伟jeny]小伟 20:45:32
命令嵌套不能超过四层 是啥意思?
[小伟jeny]小伟 20:46:11
命令嵌套深度不能超过四层
[LLXXZZ]vlisp 20:46:26
2010之后就不会了。
(QQ for ad支持个性表情发送: http://im.qq.com/pad)
[ZZXXQQ] 20:46:27
就是在程序中使用command调用CAD命令不能超过
[小伟jeny]小伟 20:47:45
里边有个循环 如果选择两个图元就没问题 多了就有问题
咋能解决呢?
[ZZXXQQ] 20:48:17
不用command,用entmake
[小伟jeny]小伟 20:48:25
里边用了两个command
不是画图元
是用的cass的命令
[ZZXXQQ] 20:49:47
用sendcmd
[小伟jeny]小伟 20:49:51
while里边有两个command
[小伟jeny]小伟 20:50:26
sendcmd怎么用呢?
[alwtyp][alwtyp] 20:52:56
请问ENTMAKE怎么生成HATCH?
[小伟jeny]小伟 20:53:43
sendcmd怎么用呢?
[1993063][1993063] 20:54:10
这个emak填充也来的代码好长
[小伟jeny]小伟 20:54:46
sendcmd怎么用呢?
[alwtyp][alwtyp] 20:55:47
没办法,在CAD里可以用COMMAND生成的HATCH,在中望不能用。只能试试ENTMAKE了
[小伟jeny]小伟 20:56:09
求教啊 我的问题
[726613]浪潮 21:02:06
大家好,求助http://bbs.mjtd.com/thread-101330-1-1.html,请问如才能解决
[小伟jeny]小伟 21:02:22
没看懂啊
[726613]浪潮 21:04:55
标注CR角
[VBALISPER]恐龙 21:05:47
你是在VBA编程吗?
[小伟jeny]小伟 21:05:55
lisp
[VBALISPER]恐龙 21:06:42
先把边界用一条闭合多段线围起来,填充就容易得多
[alwtyp][alwtyp] 21:07:29
我是直接用点围起来的
[VBALISPER]恐龙 21:08:29
点能围起来吗?不漏风?
[alwtyp][alwtyp] 21:09:15
".Hatch" "Ansi31" "0.2" "0" "" "N" t1 t2 t7 t8 t5 t6 t1 "" ""
[kewyst]………… 21:09:23
可能漏水
[alwtyp][alwtyp] 21:09:34
主要是漏电
还漏气
[夏生生][x_s_s_1]生无可恋 21:10:25
如何判断不能倒角?
[VBALISPER]恐龙 21:10:32
哦.还是相当于线
[alwtyp][alwtyp] 21:11:06
可以这么说吧,
这个在CAD是执行没问题,在中望就不行
 楼主| 发表于 2013-5-10 21:26:44 | 显示全部楼层
[1993063][1993063] 21:26:44
(defun c:tth ( / ent ent1 pt1 pt2 pt3)
  (progn
    (setq pt1 (getpoint "\n第一点 :"))
    (setq pt2 (getcorner pt1 "\n另一点 :"))
    (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline")(cons 90 4)(cons 62 1)(cons 10 pt1)(cons 10 (list (car pt2) (cadr pt1)))(cons 10 pt2)(cons 10 (list (car pt1) (cadr pt2)))'(70 . 1)))
    (setq ent (entlast))
    (setq pt3 (polar pt2 (angle pt1 pt2) -1.))
    (vl-cmdf "hatch" "" "" "" ent "")
    (vl-cmdf "ERASE" ent "")
  )
)
 楼主| 发表于 2013-5-10 21:41:55 | 显示全部楼层
[阿然][阿然] 21:41:55
(vl-remove-if lst '(lambda(x) (< (distance pt x) 0.0001))
 楼主| 发表于 2013-5-10 21:53:45 | 显示全部楼层
小唐 21:53:45
请问可用lisp去读取CPU的序号吗
[ZZXXQQ] 21:55:35
论坛上有
小唐 21:55:49
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 07:10 , Processed in 0.165434 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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