欢迎您,客人:高级登录 | 注册 | 取回密码 新贴 | 发帖 | 会员 | 搜索 | 帮助

阳光精品论坛 >> 『 CAD 专栏 』 >> 回复文章您现在正处在
『 CAD 专栏 』
的POST程序中
 直接回复文章
文章标题:
20:37
2024/12/22
文章描述: 回复贴无需描述
你的用户名:
你的密码:
忘了密码?
文章内容:

HTML 代码不可用
BMB Code 可以
点击 这里 看使用方法
[img]   - 开启
[flash] - 开启
[size]  - 开启







更多表情符号
辅助面板: [ 字体属性面板 - 字体特效面板 - ASCII图案生成面板 ] - 点击切换



帮助模式: -- BMB 辅助面板工作状态制定   [查看帖子长度]
点击下面图标加入表情符号
设置选项
            
   [替换文本]
上传附件[今天还可传0]:
最大字节: 0 字节
最少发帖: 1 篇
  
谁可以发帖子?注册会员都可以啦

阳光精品论坛 >> 『 CAD 专栏 』 >> POST

以前文章内容回顾
  even2004: [二次开发] evaluate all expressions
#define WRITE(X)   UF_UI_open_listing_window(); UF_UI_write_listing_window(X)

#define WRITE_F(X) (write_double_to_listing_window(#X, X))

static void write_double_to_listing_window(char *title, double n)
{
   char
       msg[UF_UI_MAX_STRING_LEN+1];

   UF_CALL(UF_UI_open_listing_window());
   sprintf(msg, "%s = %fn", title, n);
   UF_CALL(UF_UI_write_listing_window(msg));
}

#define WRITE_L(X) (write_logical_to_listing_window(#X, X))

static void write_logical_to_listing_window(char *title, logical flag)
{
   char
       msg[UF_UI_MAX_STRING_LEN+1];

   UF_CALL(UF_UI_open_listing_window());
   if (flag)
       sprintf(msg, "%s = TRUEn", title);
   else
       sprintf(msg, "%s = FALSEn", title);
   UF_CALL(UF_UI_write_listing_window(msg));
}

/*  There is no API method equvalent to these interactive options:

       Tools-> Update-> Update for External Change
       Tools-> Expression-> Refresh values from external spreadsheet-
       Tools-> Spreadsheet-> Edit-> Update NX part

   This program demonstrates a method which worked to update the model
   in a test case after changing values in an external spreadsheet.
*/

static logical evaluate_all_expressions(tag_t part, logical verbose)
{
   logical
       something_changed = FALSE;
   int
       ii,
       n_exp;
   tag_t
       *exps;
   double
       new_value,
       old_value;
   char
       *full_string;

   UF_CALL(UF_MODL_ask_exps_of_part(part, &n_exp, &exps));
   if (n_exp > 0)+
   {
       for (ii = 0; ii < n_exp; ii++)
       {
           UF_CALL(UF_MODL_ask_exp_tag_string(exps[ii], &full_string));
           if (verbose) WRITE(full_string);
           if (verbose) WRITE("n");

           UF_CALL(UF_MODL_ask_exp_tag_value(exps[ii], &old_value));
           if (verbose) WRITE_F(old_value);

           UF_CALL(UF_MODL_edit_exp(full_string));
           UF_free(full_string);

           UF_CALL(UF_MODL_ask_exp_tag_value(exps[ii], &new_value));
           if (verbose) WRITE_F(new_value);

           if (new_value != old_value) something_changed = TRUE;
       }
       if (verbose) WRITE_L(something_changed);
       UF_free(exps);
   }

   return something_changed;
}




本论坛言论纯属发表者个人意见,与 阳光精品论坛 立场无关 联系我们
Powered by BMForum v5.0 Skin by Bob Shen